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 :