为什么我需要READ_CONTACTS权限来读取通话记录?

Mic*_*idt 3 android android-securityexception

该应用程序正在读取通话记录.在大多数设备上都很好,其他一些设备也SecurityException适合READ_CONTACTS(我没有,也不想要我的设备)AndroidManifest.xml.

为什么这样,我能为此做点什么吗?也许,通过投影,这并不能CACHED_NAME

Pau*_*zzi 5

android.permission.READ_CALL_LOG是在API级别16中引入的.在此之前,它是隐含的,android.permission.READ_CONTACTS并且不作为单独的权限存在.我怀疑你的问题是API 15和更低的设备,因为它们会忽略你的清单uses-permissionREAD_CALL_LOG,因此没有读取日志的权限.对于这些设备,READ_CONTACTS是正确的权限.

  • 所以,我使用`<uses-permission android:name ="android.permission.READ_CONTACTS"android:maxSdkVersion ="15"/>`以避免在较新的API中请求此权限. (2认同)