Ni l'utilisateur 10102, ni processus actuel a android.la permission.READ_PHONE_STATE
Je suis en train d'appel getCallCapablePhoneAccounts() méthode de android.telecom.TelecomManager classe. Si j'ai ajouté utilisateur permission, je suis exception de Sécurité.
Voici la ligne de code où je suis arriver exception
List<PhoneAccountHandle> list = getTelecomManager().getCallCapablePhoneAccounts();
autorisation de l'utilisateur ajouté dans le manifeste
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
Exception stacktrace
Causés par: java.lang.SecurityException: getDefaultOutgoingPhoneAccount: Aucun utilisateur 10102, ni les processus en cours
a android.la permission.READ_PHONE_STATE.
au android.os.La parcelle.readException(Colis.java:1599)
au android.os.La parcelle.readException(Colis.java:1552)
au com.android.internal.telecom.ITelecomService$Stub$Proxy.getDefaultOutgoingPhoneAccount(ITelecomService.java:615)
au android.telecom.TelecomManager.getDefaultOutgoingPhoneAccount(TelecomManager.java:439)
- Qu'avez-vous à ajouter à votre manifeste?
- Essayez de nettoyer et reconstruire. Si non, la suppression de l'autorisation et de ré-ajouter soi-disant résout des choses: stackoverflow.com/questions/12778168/...
- <uses-permission android:name="android.la permission.READ_PHONE_STATE" /> c'est l'été ajouté dans le manifeste
- Essayé de nettoyer, reconstruire, mais le problème existe toujours
- Je reçois également le même problème, après j'ai mis à jour mon émulateur cible android 6. @Prasad avez-vous été en mesure de trouver une solution?
- Il semble que ce soit un problème avec Android M code.google.com/p/android-developer-preview/issues/...
- pas encore trouvé la solution. Ces Api sont ajoutés dans le niveau 23(android M). Il semble être un bug dans le cadre
- Vous pouvez essayer de compiler votre application pour l'api 23 c'est à dire de compiler version du sdk 23 et cible sdk version 23. Alors que sur l'émulateur, vous pouvez exécuter une ancienne Android, comme Lollipop API (21). Cela devrait fonctionner. Je sais que c'est juste une solution de contournement pour vérifier si votre code fonctionne très bien jusqu'à ce qu'une solution pour le problème d'autorisations est libéré par les développeurs android
- Enfin, ce problème est résolu en changeant targetSdk niveau 4
Vous devez vous connecter pour publier un commentaire.
Sur Android >=6.0, Nous devons demander l'autorisation de l'exécution.
Etape 1: ajouter dans AndroidManifest.xml fichier
Etape 2: Demande d'autorisation.
Etape 3: Poignée de rappel lorsque vous en demander la permission.
Edit:
Lire le guide officiel ici Demander des Autorisations au Moment de l'Exécution
implements ActivityCompat.OnRequestPermissionsResultCallback
.private final int REQUEST_READ_PHONE_STATE=1;
Êtes-vous en cours d'exécution Android M? Si oui, c'est parce qu'il ne suffit pas de déclarer les autorisations dans le manifeste. Pour certaines autorisations, vous devez explicitement demander à l'utilisateur dans l'exécution: http://developer.android.com/training/permissions/requesting.html
android.Manifest.permission.READ_PHONE_STATE
au lieu deandroid.permission.READ_PHONE_STATE
.J'ai été confronté à ce problème sur les appareils Samsung (fine sur les autres). comme zyamys suggéré dans son commentaire, j'ai ajouté le manifeste.l'autorisation de la ligne, mais en plus, plutôt que au lieu de la ligne d'origine, donc:
Je suis ciblage de l'API 22, ne soyez donc pas besoin de le demander explicitement autorisations.