Problem mit static & IMEI auslesen

S

SPACE5TAR

Neues Mitglied
9
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...
 
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;
	}
 
  • Danke
Reaktionen: SPACE5TAR
Danke, hat mir sehr geholfen!
 
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
 
Hi neubs,

neubs schrieb:
Oder muss ich noch explicit irgendwelche Rechte anfordern?

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
 
Danke, wieder was gelernt :)
 

Ähnliche Themen

H
Antworten
2
Aufrufe
1.311
Hcman
H
S
Antworten
4
Aufrufe
995
Sempervivum
S
B
Antworten
4
Aufrufe
496
bb321
B
Zurück
Oben Unten