Android:SYSTEM_ALERT_WINDOW的替代方案,用于在应用活动中显示叠加层

时间:2016-04-28 16:04:04

标签: android android-6.0-marshmallow

我想在我的应用中添加一个可在所有活动中使用的聊天功能 - 您可以在一个活动中开始聊天,并在更改活动时保持实时。

在Android M(6.0 - API 23)之前,我可以在应用清单中添加以下权限:

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

使用TYPE_PHONE LayoutParam。

创建一个高于所有其他视图的视图

自Marshmallow以来,我现在需要使用以下内容要求用户许可:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    if (!Settings.canDrawOverlays(this)) {
        Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
                Uri.parse("package:" + getPackageName()));
        startActivityForResult(intent, 1234);
    }
}

我的问题是,这对用户来说非常具有侵扰性,而且我不需要在所有应用程序上显示可见的视图 - 在我的应用程序上可见的视图就足够了。

这样的解决方案是否存在? 另一个限制是我不能总是修改应用程序布局文件 - 我的聊天功能可以包含在其他应用程序中。

谢谢。

0 个答案:

没有答案