2 votes

Permission Denial: lecture de com.android.providers.contacts.CallLogProvider

Je reçois cette exception sur un téléphone et un opérateur spécifiques : Samsung Galaxy S3 sur Verizon. J'ai testé sur un Evo avec Sprint et un Galaxy Nexus avec AT&T et aucun ne me donne cette erreur. Je me demande si l'opérateur téléphonique a apporté des modifications au système d'exploitation qui nécessitent maintenant des autorisations spéciales supplémentaires. J'ai enregistré la trace de la pile suivante à distance à partir d'un client qui possède un Galaxy S3 :

Trace de la pile :

    Refus de permission : lecture de com.android.providers.contacts.CallLogProvider 
uri content://call_log/calls depuis pid=23104, uid=10233 
nécessite android.permission.READ_CALL_LOG, ou grantUriPermission()
java.lang.SecurityException: Refus de permission : lecture 
com.android.providers.contacts.CallLogProvider 
uri content://call_log/calls depuis pid=23104, uid=10233 
nécessite android.permission.READ_CALL_LOG, ou grantUriPermission()  
at android.os.Parcel.readException(Parcel.java:1430)  at 
android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:188)  at 
android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:140)  at 
android.content.ContentProviderProxy.query(ContentProviderNative.java:423)  at 
android.content.ContentResolver.query(ContentResolver.java:375)  at 
android.content.ContentResolver.query(ContentResolver.java:318)

Manifeste :

2voto

Ruben Points 776

Permet à une application de lire le journal des appels de l'utilisateur.

Remarque : Si votre application utilise l'autorisation READ_CONTACTS et que les valeurs de minSdkVersion et targetSdkVersion sont définies sur 15 ou moins, le système accorde implicitement cette autorisation à votre application. Si vous n'avez pas besoin de cette autorisation, assurez-vous que votre targetSdkVersion est de 16 ou plus.

Valeur constante : "android.permission.READ_CALL_LOG"

Selon votre manifeste :

Peut-être devriez-vous essayer de supprimer l'autorisation READ_CONTACTS, ou définir targetSdkVersion="9"

Source : Manifest.permissions #READ_CALL_LOG

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X