1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Problem mit static & IMEI auslesen

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von SPACE5TAR, 19.01.2012.

  1. SPACE5TAR, 19.01.2012 #1
    SPACE5TAR

    SPACE5TAR Threadstarter Junior Mitglied

    Beiträge:
    42
    Erhaltene Danke:
    9
    Registriert seit:
    08.02.2009
    Ich habe ein kleines Problem bei meinem ersten wirklichen Projekt. An sich komme ich gut voran, wenn da nicht immer wieder diese Kleinigkeiten wären, die einem aufhalten. Aber sie sollen mich nicht aus der Ruhe bringen, im Regelfall findet man nach einer intensiven Suche und ein wenig Herumprobieren ja schließlich des Rätsels Lösung.

    Bei folgendem Problem komme ich jedoch einfach nicht weiter: Ich möchte die IMEI auslesen, um sie sie später bei einer Abfrage an den Server zu übergeben. Um aus anderen Klassen drauf zugreifen zu können, habe ich sie als static deklariert. Nun aber bekomme ich den Code-Snipsel zum auslesen der IMEI nicht gescheit verpackt, ohne dass Eclipse wegen "static" meckert.

    Kann mir wer helfen?

    Meine Klasse:

    Code:
    public class HTTPreciver extends Activity {
    
      public static void CheckIMEI() {
        String IMEI = [I][HIER SOLL DIE IMEI REIN][/I];
      }
    
    }

    IMEI Auslesen:

    Code:
    TelephonyManager tManager = (TelephonyManager)myActivity.getSystemService(Context.TELEPHONY_SERVICE);
    String uid = tManager.getDeviceId();
    Danke schon mal...
     
  2. Tom299, 20.01.2012 #2
    Tom299

    Tom299 Android-Experte

    Beiträge:
    602
    Erhaltene Danke:
    120
    Registriert seit:
    31.08.2011
    Versuchs mal so:

    Code:
    	private static String IMEI;
    	public static String getIMEI(Context context) {
    		if (IMEI == null) {
    			TelephonyManager tManager = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
    			IMEI = tManager.getDeviceId();
    		}
    		return IMEI;
    	}
    
     
    SPACE5TAR bedankt sich.
  3. SPACE5TAR, 20.01.2012 #3
    SPACE5TAR

    SPACE5TAR Threadstarter Junior Mitglied

    Beiträge:
    42
    Erhaltene Danke:
    9
    Registriert seit:
    08.02.2009
    Danke, hat mir sehr geholfen!
     
  4. neubs, 08.03.2012 #4
    neubs

    neubs Neuer Benutzer

    Beiträge:
    12
    Erhaltene Danke:
    0
    Registriert seit:
    07.03.2012
    Hallo,
    ich häng mich mal mit meiner Frage hier ran, geht um die gleiche Funktion.

    Ich habe lange nach Möglichkeit gesucht die IMEI auszulesen und bin glücklicherweise hier fündig geworden.
    Wenn ich jetzt allerdings die Funktion verwende bekomme ich folgende Fehlermeldung:
    "Caused by: java.lang.SecurityException: Requires READ_PHONE_STATE: Neither user 10034 nor current process has android.permission.READ_PHONE_STATE."

    Soweit ich die Meldung interpretiere will mir Android sagen das ich keine Rechte habe diese Funktion zu verwenden? Ich kann das leider nur in der virtuellen Umgebung testen ... kann es vielleicht daran liegen? Oder muss ich noch explicit irgendwelche Rechte anfordern?

    Bin für jeden Tip dankbar ;)

    mfg
    sebastian
     
  5. Neeldarax, 08.03.2012 #5
    Neeldarax

    Neeldarax Erfahrener Benutzer

    Beiträge:
    170
    Erhaltene Danke:
    31
    Registriert seit:
    07.12.2010
    Hi neubs,

    Genau das heißt es!

    Das fehlt dir:
    Code:
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    HIER findest du mehr Informationen über AndroidManifest und uses-permission.


    regards
     
  6. neubs, 08.03.2012 #6
    neubs

    neubs Neuer Benutzer

    Beiträge:
    12
    Erhaltene Danke:
    0
    Registriert seit:
    07.03.2012
    Danke, wieder was gelernt :)
     

Diese Seite empfehlen