2013-02-05 121 views
3

我在特定的手机和运营商上收到了这个异常:Verizon上的三星Galaxy S3。我已经在Evo中用Sprint和Galaxy Nexus进行了测试,其中AT & T并没有给我这个错误。我想知道电话公司是否对操作系统做了任何修改,现在需要额外的特殊权限。权限拒绝:阅读com.android.providers.contacts.CallLogProvider

堆栈跟踪:

Permission Denial: reading com.android.providers.contacts.CallLogProvider 
uri content://call_log/calls from pid=23104, uid=10233 
requires android.permission.READ_CALL_LOG, or grantUriPermission() 
java.lang.SecurityException: Permission Denial: reading 
com.android.providers.contacts.CallLogProvider 
uri content://call_log/calls from pid=23104, uid=10233 
requires android.permission.READ_CALL_LOG, or 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) 

清单:我从客户谁拥有的Galaxy S3远程记录以下堆栈跟踪

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="xyz" 
    android:installLocation="auto" 
    android:versionCode="1" 
    android:versionName="1" > 

    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 
    <uses-permission android:name="android.permission.READ_CONTACTS" /> 
    <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
    <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" /> 
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> 
    <uses-permission android:name="android.permission.CALL_PHONE" /> 
    <uses-permission android:name="android.permission.WRITE_CONTACTS" /> 
    <uses-permission android:name="android.permission.READ_CALENDAR" /> 
    <uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> 
    <uses-permission android:name="android.permission.READ_SMS" /> 
    <uses-permission android:name="android.permission.WRITE_SMS" /> 
    <uses-permission android:name="android.permission.RECEIVE_SMS" /> 
    <uses-permission android:name="android.permission.RECEIVE_MMS" /> 
    <uses-permission android:name="android.permission.SEND_SMS" /> 
    <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" /> 
    <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
    <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" /> 
    <uses-permission android:name="android.permission.RECEIVE_WAP_PUSH" /> 
    <uses-permission android:name="android.permission.RESTART_PACKAGES" /> 
    <uses-permission android:name="android.permission.READ_CALL_LOG" />  
    <uses-permission android:name="android.permission.WRITE_CALL_LOG" /> 
    <uses-permission android:name="android.permission.WRITE_SETTINGS" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

    <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="9"> 
    </uses-sdk> 

回答

2

允许应用程序读取用户的通话记录。

注意:如果您的应用程序使用READ_CONTACTS权限,并且minSdkVersion和targetSdkVersion值均设置为15或更低,则系统会隐式授予您应用程序的此权限。如果您不需要此权限,请确保您的targetSdkVersion为16或更高。

常数值: “android.permission.READ_CALL_LOG”

根据您的清单:
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="9"></uses-sdk>

也许你应该尝试删除READ_CONTACTS权限,或设置targetSdkVersion="9"

来源:Manifest.permissions #READ_CALL_LOG

+0

没有什么像android.permission.READ_CALL_LOG – Prasad