【问题标题】:Permission crash when launching on android 23 device (6.0)在 android 23 设备 (6.0) 上启动时权限崩溃
【发布时间】:2016-11-17 07:26:25
【问题描述】:

我们刚刚测试了在 android 23 上编译我们的应用程序(包括对讲机),在 22 或以下设备上一切正常,但是在 android 23 设备[Nexus 5] 上运行时,我遇到了这个崩溃:

11-17 12:54:39.804 10431-10431/applock.mindorks.com.applock E/AndroidRuntime: FATAL EXCEPTION: main
 Process: applock.mindorks.com.applock, PID: 10431
 java.lang.RuntimeException: Unable to create service applock.mindorks.com.applock.services.AppCheckServices: android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRootImpl$W@e40eea -- permission denied for this window type
 at android.app.ActivityThread.handleCreateService(ActivityThread.java:2887)
 at android.app.ActivityThread.-wrap4(ActivityThread.java)
 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1427)
 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: android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRootImpl$W@e40eea -- permission denied for this window type
 at android.view.ViewRootImpl.setView(ViewRootImpl.java:591)
 at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:310)
 at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:85)
 at applock.mindorks.com.applock.services.AppCheckServices.onCreate(AppCheckServices.java:88)
 at android.app.ActivityThread.handleCreateService(ActivityThread.java:2877)
 at android.app.ActivityThread.-wrap4(ActivityThread.java) 
 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1427) 
 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) 

【问题讨论】:

标签: android-studio android-6.0-marshmallow android-permissions


【解决方案1】:

您需要在 Marshmallow 设备的运行时请求权限以获得一些特殊权限。例如。手机状态、网络等

检查一下。

https://developer.android.com/training/permissions/requesting.html

这也是我在这方面发现的一个 SO 答案链接。

Android: Unable to add window. Permission denied for this window type

【讨论】:

  • 已经完成。 if (ContextCompat.checkSelfPermission(context, Manifest.permission.SYSTEM_ALERT_WINDOW) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(SplashActivity.this, new String[]{Manifest.permission.SYSTEM_ALERT_WINDOW}, MY_PERMISSIONS_REQUEST_SYSTEM_ALERT); }
  • 我在 Stack Overflow 中找到的两个解决方案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-06-08
  • 1970-01-01
  • 1970-01-01
  • 2016-11-21
  • 1970-01-01
  • 2016-07-01
  • 2016-12-03
相关资源
最近更新 更多