SYSTEM_ALERT_WINDOW浏览器与Android M - 应用程序崩溃

时间:2016-07-20 23:08:22

标签: android chat android-windowmanager

我正在使用此library

我知道它可以在Android M上运行,但出于某种原因它每次都会在我的项目中崩溃。

我尝试过研究和添加权限SYSTEM_ALERT_WINDOW(即使这不是必需的),我也被卡住了。

任何人都知道它崩溃的原因吗?

private void addViewToWindow(final BubbleBaseLayout view) {
new Handler(Looper.getMainLooper()).post(new Runnable() {
@Override
public void run() {
crashes here >>> getWindowManager().addView(view, view.getViewParams());
}
});
}
  

android.view.WindowManager $ BadTokenException:无法添加窗口   android.view.ViewRootImpl$W@ce82da - 此权限被拒绝   窗口类型

1 个答案:

答案 0 :(得分:0)

这是一个权限问题,而不是通常的方式(如清单中所示)。 这是我在另一个线程上找到的解决方案:

if (!Settings.canDrawOverlays(this)) {
                Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
                        Uri.parse("package:" + getPackageName()));
                startActivityForResult(intent, 3);

在创建气泡之前,通过您的活动运行此操作。