我试图阅读联系人详细信息但是当我运行代码时会出错
FATAL EXCEPTION: AsyncTask #1
....
Caused by: java.lang.SecurityException: Permission Denial: opening provider com.android.providers.contacts.ContactsProvider2 .... requires android.permission.READ_CONTACTS or android.permission.WRITE_CONTACTS
这是我的清单文件。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.arfan.myfirstapp">
<uses-permission android:name="android.permission.READ_CONTACTS" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
您可以检查我的代码重置方式,以便我尝试阅读联系人 这是一个你可以检查它的链接。 CODE
请告诉我为什么我无法获得许可。我是android的新手 感谢。
答案 0 :(得分:0)
用这个替换你的清单
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.arfan.myfirstapp">
<uses-permission android:name="android.permission.READ_CONTACTS" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
答案 1 :(得分:0)
这是追加,因为来自Android 6的必须在运行时需要权限。
https://developer.android.com/training/permissions/requesting.html
您必须始终在清单中要求它,但如果设备运行Android 6或更高版本,您必须向用户请求权限,您可以在链接中找到如何