Android 6.0“棉花糖”默认禁用悬浮窗口——解决方案
众所周知,google一开始并没有将悬浮窗口作为一个交互工具,而是希望`android.permission.SYSTEM_ALERT_WINDOW`能够老老实实地拿来做用户通知。
所以在Android 6.0 Marshmallow(棉花糖)中,系统引入了新的应用授权系统,以确保用户能够对应用的权限进行逐项审核。
因此我们在应用程序中并不能按照之前的方式添加权限,否则报错:
java.lang.RuntimeException: Unable to start receiver com.ygkey.www.floatingwindow.IntentReceiver: android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRootImpl$W@d38bb2f -- permission denied for this window type
at android.app.ActivityThread.handleReceiver(ActivityThread.java:2732)
at android.app.ActivityThread.-wrap14(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread