Moblie
Moblie

Reputation: 1

Getting "FATAL EXCEPTION AsyncTask #1"

I'm getting the following error while running my application in Android. I don't have any background task going on.

FATAL EXCEPTION: AsyncTask #1

Process: com.inclov.inclovapp, PID: 32532
java.lang.RuntimeException: An error occured while executing doInBackground() at android.os.AsyncTask$3.done(AsyncTask.java:304) at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355) at java.util.concurrent.FutureTask.setException(FutureTask.java:222) at java.util.concurrent.FutureTask.run(FutureTask.java:242) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) at java.lang.Thread.run(Thread.java:818)

Caused by: java.lang.SecurityException: Permission Denial: opening provider com.android.providers.contacts.ContactsProvider2 from ProcessRecord{2363bbc5 32532:com.inclov.inclovapp/u0a161} (pid=32532, uid=10161) requires android.permission.READ_CONTACTS or android.permission.WRITE_CONTACTS at android.os.Parcel.readException(Parcel.java:1546) at android.os.Parcel.readException(Parcel.java:1499) at android.app.ActivityManagerProxy.getContentProvider(ActivityManagerNative.java:3503) at android.app.ActivityThread.acquireProvider(ActivityThread.java:5062) at android.app.ContextImpl$ApplicationContentResolver.acquireUnstableProvider(ContextImpl.java:2737) at android.content.ContentResolver.acquireUnstableProvider(ContentResolver.java:1446) at android.content.ContentResolver.query(ContentResolver.java:466) at android.content.CursorLoader.loadInBackground(CursorLoader.java:64) at android.content.CursorLoader.loadInBackground(CursorLoader.java:42) at android.content.AsyncTaskLoader.onLoadInBackground(AsyncTaskLoader.java:312) at android.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:69) at android.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:57) at android.os.AsyncTask$2.call(AsyncTask.java:292) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) at java.lang.Thread.run(Thread.java:818)

Upvotes: 0

Views: 890

Answers (2)

Zein Makki
Zein Makki

Reputation: 30052

As stated in the error , you need these permissions :

android.permission.READ_CONTACTS 

or

android.permission.WRITE_CONTACTS

For lollipop and prior, you need to add this to your manifest :

<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />

If you are targeting Marshmallow, you need to add a request Permissions logic inside the activity using this. Follow this official Link on how to do it.

Upvotes: 0

hello_world
hello_world

Reputation: 768

add these to you manifest:

<uses-permission android:name="android.permission.WRITE_CONTACTS" /> <uses-permission android:name="android.permission.READ_CONTACTS" />

Read this for more info - https://developer.android.com/training/contacts-provider/retrieve-names.html#Permissions

Upvotes: 0

Related Questions