【问题标题】:Android "Unfortunately, MyApp Has Stopped"Android“不幸的是,MyApp 已停止”
【发布时间】:2016-12-12 16:48:04
【问题描述】:

当我在我的设备上运行它时,我收到此错误并且应用程序崩溃。

我使用的是 Android Studio 1.3.2。

这是我的堆栈跟踪:

08-06 13:26:35.980    8874-8889/com.test.myapp E/AndroidRuntime﹕ FATAL EXCEPTION: AsyncTask #1
    Process: com.test.myapp, PID: 8874
    java.lang.RuntimeException: An error occurred while executing doInBackground()
            at android.os.AsyncTask$3.done(AsyncTask.java:309)
            at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
            at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
            at java.util.concurrent.FutureTask.run(FutureTask.java:242)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
            at java.lang.Thread.run(Thread.java:818)
     Caused by: java.lang.SecurityException: Permission Denial: opening provider com.android.providers.contacts.SemcContactsProvider2 from ProcessRecord{c94f2c4 8874:com.test.myapp/u0a60} (pid=8874, uid=10060) requires android.permission.READ_CONTACTS or android.permission.WRITE_CONTACTS
            at android.os.Parcel.readException(Parcel.java:1627)
            at android.os.Parcel.readException(Parcel.java:1579)
            at android.app.ActivityManagerProxy.getContentProvider(ActivityManagerNative.java:3565)
            at android.app.ActivityThread.acquireProvider(ActivityThread.java:4878)
            at android.app.ContextImpl$ApplicationContentResolver.acquireUnstableProvider(ContextImpl.java:2004)
            at android.content.ContentResolver.acquireUnstableProvider(ContentResolver.java:1477)
            at android.content.ContentResolver.query(ContentResolver.java:481)
            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:295)
            at java.util.concurrent.FutureTask.run(FutureTask.java:237)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
            at java.lang.Thread.run(Thread.java:818)

【问题讨论】:

  • 您没有在 Android Manifest 中授予联系权限
  • 在未来的问题中,您可能会发现包含一些代码以显示您正在尝试执行的操作很有用,而不仅仅是堆栈跟踪。仅拥有堆栈跟踪可能不足以让我们进行调试。还请描述您已经尝试过的内容,以便我们更有效地提供帮助。
  • Caused by: java.lang.SecurityException: Permission Denial: opening provider com.android.providers.contacts.SemcContactsProvider2 from ProcessRecord{c94f2c4 8874:com.test.myapp/u0a60} (pid=8874, uid=10060) requires android.permission.READ_CONTACTS or android.permission.WRITE_CONTACTS 你需要学习如何解释logcat。

标签: android android-studio


【解决方案1】:
<uses-permission android:name="android.permission.READ_CONTACTS"/>

如果你想写一个联系人也写:

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

将这些行放入清单文件中(直接在“清单”标签内)

【讨论】:

    【解决方案2】:

    在清单中添加权限

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

    Android M+ 需要运行时权限implement like this code

    【讨论】:

      【解决方案3】:

      正如堆栈跟踪所说,您需要请求权限。 requires android.permission.READ_CONTACTS or android.permission.WRITE_CONTACTS

      把它放在你的清单中

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

      请注意,如果您正在为 android M+ 构建,您还应该在运行时请求权限。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-03-17
        • 2016-08-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-11
        相关资源
        最近更新 更多