मैं डिवाइस पर संपर्कों तक पहुंचने का प्रयास कर रहा हूं और बाद में उन्हें एक सूची में प्रदर्शित करता हूं, हालांकि जब मैं उन्हें कर्सर से एक्सेस करने का प्रयास करता हूं, तो मुझे एक त्रुटि मिलती है जो मुझे याद आ रही है READ_CONTACTS के लिए अनुमतियाँ, लेकिन मैं पहले से ही मेरे AndroidManifest.xml में अनुमतियाँ दे दी हैAndroid में संपर्कों को एक्सेस करने का प्रयास करते समय अनुमति अस्वीकार
कोड जहाँ मैं संपर्क में पहुंचने के:
public void setupCursor() {
Cursor cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null);
while (cursor.moveToNext()) {
String name = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
String number = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
Toast.makeText(this, name + ": " + number, Toast.LENGTH_SHORT).show();
}
cursor.close();
}
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="io.github.brady131313.textback" >
<uses-sdk android:minSdkVersion="15" android:targetSdkVersion="21"/>
<uses-permission android:name="ANDROID.PERMISSION.READ_CONTACTS"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".ActivityMainSettings"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".ActivityContactSelect"
android:label="Select Contacts">
</activity>
</application>
</manifest>
त्रुटि लॉग
05-17 17:12:41.544 20202-20202/io.github.brady131313.textback E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: io.github.brady131313.textback, PID: 20202
java.lang.RuntimeException: Unable to start activity ComponentInfo{io.github.brady131313.textback/io.github.brady131313.textback.ActivityContactSelect}: java.lang.SecurityException: Permission Denial: opening provider com.android.providers.contacts.ContactsProvider2 from ProcessRecord{14c069a9 20202:io.github.brady131313.textback/u0a90} (pid=20202, uid=10090) requires android.permission.READ_CONTACTS or android.permission.WRITE_CONTACTS
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2661)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
at android.app.ActivityThread.access$900(ActivityThread.java:172)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1421)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5835)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1388)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1183)
Caused by: java.lang.SecurityException: Permission Denial: opening provider com.android.providers.contacts.ContactsProvider2 from ProcessRecord{14c069a9 20202:io.github.brady131313.textback/u0a90} (pid=20202, uid=10090) requires android.permission.READ_CONTACTS or android.permission.WRITE_CONTACTS
at android.os.Parcel.readException(Parcel.java:1540)
at android.os.Parcel.readException(Parcel.java:1493)
at android.app.ActivityManagerProxy.getContentProvider(ActivityManagerNative.java:3582)
at android.app.ActivityThread.acquireProvider(ActivityThread.java:5081)
at android.app.ContextImpl$ApplicationContentResolver.acquireUnstableProvider(ContextImpl.java:2926)
at android.content.ContentResolver.acquireUnstableProvider(ContentResolver.java:1452)
at android.content.ContentResolver.query(ContentResolver.java:468)
at android.content.ContentResolver.query(ContentResolver.java:428)
at io.github.brady131313.textback.ActivityContactSelect.setupCursor(ActivityContactSelect.java:46)
at io.github.brady131313.textback.ActivityContactSelect.onCreate(ActivityContactSelect.java:32)
at android.app.Activity.performCreate(Activity.java:6221)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2614)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
at android.app.ActivityThread.access$900(ActivityThread.java:172)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1421)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5835)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1388)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1183)
किसी भी मदद की सराहना की जाएगी!
केस संवेदनशीलता सभी महत्वपूर्ण है। त्रुटि संदेश और जिस मामले का उपयोग कर रहा है उसे देखें ... 'android.permission.READ_CONTACTS' फिर अपने मैनिफेस्ट को देखें ...' ANDROID.PERMISSION.READ_CONTACTS'। – Squonk