获得"致命异常AsyncTask#1"

时间:2016-07-11 05:37:11

标签: android

我在Android中运行应用程序时遇到以下错误。我没有任何后台任务。

  

致命异常:AsyncTask#1

     

过程:com.inclov.inclovapp,PID:32532
  java.lang.RuntimeException:执行时发生错误   doInBackground()在android.os.AsyncTask $ 3.done(AsyncTask.java:304)at at   java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)   at java.util.concurrent.FutureTask.setException(FutureTask.java:222)   在java.util.concurrent.FutureTask.run(FutureTask.java:242)at   java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)   在   java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(ThreadPoolExecutor.java:587)   在java.lang.Thread.run(Thread.java:818)

     

引起:java.lang.SecurityException:权限拒绝:打开   提供者com.android.providers.contacts.ContactsProvider2来自   ProcessRecord {2363bbc5 32532:com.inclov.inclovapp / u0a161}(pid = 32532,   uid = 10161)需要android.permission.READ_CONTACTS或   android.permission.WRITE_CONTACTS在   android.os.Parcel.readException(Parcel.java:1546)at   android.os.Parcel.readException(Parcel.java:1499)at   android.app.ActivityManagerProxy.getContentProvider(ActivityManagerNative.java:3503)   在   android.app.ActivityThread.acquireProvider(ActivityThread.java:5062)   在   android.app.ContextImpl $ ApplicationContentResolver.acquireUnstableProvider(ContextImpl.java:2737)   在   android.content.ContentResolver.acquireUnstableProvider(ContentResolver.java:1446)   在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)   在   android.content.AsyncTaskLoader $ LoadTask.doInBackground(AsyncTaskLoader.java:69)   在   android.content.AsyncTaskLoader $ LoadTask.doInBackground(AsyncTaskLoader.java:57)   在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)   在   java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(ThreadPoolExecutor.java:587)   在java.lang.Thread.run(Thread.java:818)

2 个答案:

答案 0 :(得分:0)

将这些添加到您的清单:

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

请阅读此内容以获取更多信息 - https://developer.android.com/training/contacts-provider/retrieve-names.html#Permissions

答案 1 :(得分:0)

如错误中所述,您需要以下权限:

android.permission.READ_CONTACTS 

android.permission.WRITE_CONTACTS

对于棒棒糖和之前,你需要将它添加到你的清单:

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

如果您要定位Marshmallow,则需要使用此操作在活动内添加请求权限逻辑。请按照此官方Link了解如何操作。