Hello Guys Please help me with this one.
While this is how my AndroidManifestXML looks.:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.jojonarte.com.mycontactresolver" >
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="android.jojonarte.com.mycontactresolver.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="11" android:targetSdkVersion="23"/>
<uses-permission android:name="android.permission.READ_CONTACTS" />
</manifest>
This is my error code
09-12 22:48:55.392 2904-2904/android.jojonarte.com.mycontactresolver E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: android.jojonarte.com.mycontactresolver, PID: 2904
java.lang.RuntimeException: Unable to start activity ComponentInfo{android.jojonarte.com.mycontactresolver/android.jojonarte.com.mycontactresolver.MainActivity}: java.lang.SecurityException: Permission Denial: opening provider com.android.providers.contacts.ContactsProvider2 from ProcessRecord{aa19c00 2904:android.jojonarte.com.mycontactresolver/u0a58} (pid=2904, uid=10058) requires android.permission.READ_CONTACTS or android.permission.WRITE_CONTACTS
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: java.lang.SecurityException: Permission Denial: opening provider com.android.providers.contacts.ContactsProvider2 from ProcessRecord{aa19c00 2904:android.jojonarte.com.mycontactresolver/u0a58} (pid=2904, uid=10058) requires android.permission.READ_CONTACTS or android.permission.WRITE_CONTACTS
at android.os.Parcel.readException(Parcel.java:1599)
at android.os.Parcel.readException(Parcel.java:1552)
at android.app.ActivityManagerProxy.getContentProvider(ActivityManagerNative.java:3550)
at android.app.ActivityThread.acquireProvider(ActivityThread.java:4778)
at android.app.ContextImpl$ApplicationContentResolver.acquireUnstableProvider(ContextImpl.java:2018)
at android.content.ContentResolver.acquireUnstableProvider(ContentResolver.java:1468)
at android.content.ContentResolver.query(ContentResolver.java:475)
at android.content.ContentResolver.query(ContentResolver.java:434)
at android.jojonarte.com.mycontactresolver.ContactsProvider.getContacts(ContactsProvider.java:40)
at android.jojonarte.com.mycontactresolver.MainActivity.onCreate(MainActivity.java:22)
at android.app.Activity.performCreate(Activity.java:6237)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
These are the resources that I have, I could also provide my other classes too if needed be. I know it says I must included permission for reading contacts but it's already added, that's why I'm wondering how this occured.
Remove your package name from your activity's name;
Change this line:
android:name="android.jojonarte.com.mycontactresolver.MainActivity"
to this:
android:name=".MainActivity"
Or completely remove the package attribute from the beginning of your Manifest, but then you have to write it with every activity's name, like follows:
<activity
android:name="android.jojonarte.com.mycontactresolver.MainActivity">
...
</activity>
<activity
android:name="android.jojonarte.com.mycontactresolver.AnotherActivity">
...
</activity>
And so on.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.