2016-03-23 2 views
0

In meiner Android App brauche ich die IMEI des Geräts. Ich habe diesen Code, um die IMEI zu erhalten:Get Serial of Phone (IMEI) führt zu einem Fehler: READ_PHONE_STATE erforderlich

try { 
    TelephonyManager tm=(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); 
    String IMEINumber=tm.getDeviceId(); 
    String subscriberID=tm.getDeviceId();   
} catch (Exception ex){ 
    Toast.makeText(this,ex.getMessage().toString(),Toast.LENGTH_LONG).show(); 
} 

Zur Laufzeit-I-Fehler erhalten folgende:

Error "Requires READ_PHONE_STATE: Neither user 10047 nor current process has android.permission.READ_PHONE_STATE"

Antwort

1

Weil Lesen IMEI diese Erlaubnis braucht, Sie müssen hinzufügen:

<uses-permission android:name="android.permission.READ_PHONE_STATE" /> 

zu Ihre Manifest-Datei. Siehe: Manifest-Permissions

+0

Dank Meiko

+0

Sie Problem gelöst? toll :) dann kannst du eine antwort als richtig markieren oder die richtige antwort schreiben. –

+0

Auf Marshmallow (SDK> = 23) wird beim Anfordern der Berechtigung ein Dialogfeld angezeigt, in dem die App aufgefordert wird, ** "Anrufe zu verwalten und zu steuern" **, was nicht korrekt ist. Dies ist, wie ich verstehe, als ein Fehler für Android-Entwickler von Google gekennzeichnet. Das Lesen von IMEI ist nicht das Gleiche wie das Verwalten und Steuern von Telefonanrufen. Irgendeine Idee, wie man diese alarmierende Nachricht verhindert? –

Verwandte Themen