2017-07-07 154 views
0

我面臨的問題與運行時權限與Android 6及以上,同時禁用「手機」權限,多行應用程序崩潰。 崩潰不在應用程序級別發生,所以無法找到應用程序崩潰的位置。 請查閱下面的崩潰日誌。Android的棉花糖權限問題與SDK 23

Logs: 
07-07 12:43:53.066 28451-28451/ V/TdmCallReceiver: App receiver must live! 
07-07 12:43:53.073 28451-28479/ D/MessagesContentProvider: Query SORT: null 
07-07 12:43:53.076 28451-28481/ E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #4 
                     Process:, PID: 28451 
                     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.CallLogProvider from ProcessRecord{9cb4e5d 28451:/u0a694} (pid=28451, uid=10694) requires android.permission.READ_CALL_LOG or android.permission.WRITE_CALL_LOG 
                      at android.os.Parcel.readException(Parcel.java:1629) 
                      at android.os.Parcel.readException(Parcel.java:1582) 
                      at android.app.ActivityManagerProxy.getContentProvider(ActivityManagerNative.java:3598) 
                      at android.app.ActivityThread.acquireProvider(ActivityThread.java:5108) 
                      at android.app.ContextImpl$ApplicationContentResolver.acquireUnstableProvider(ContextImpl.java:2026) 
                      at android.content.ContentResolver.acquireUnstableProvider(ContentResolver.java:1481) 
                      at android.content.ContentResolver.query(ContentResolver.java:488) 
                      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) 
registering bus 

請讓我知道是否有人有任何想法解決這個問題。 這僅在「電話」權限禁用狀態下才會發生。

+0

發佈您的代碼以供參考 – EKN

+0

分享的AsyncTask的代碼和相關 – Cochi

+0

活動/片段我targetSDKVersion是23的代碼和編譯的版本是25,我ahve給予所有權限第一次和安裝後,我已經禁用了我的「手機」權限設置,它是在崩潰的應用程序 – Sanketh

回答

0

權限檢查的onResume()方法比做工精細

+0

是的我只在onResume()方法檢查,但在檢查權限之前,只有它崩潰 – Sanketh

+0

另一種方式在後臺檢查服務權限。 –