如果在使用Android的浮动覆盖物功能时出现问题,可以尝试启动设置应用,然后选择应用程序并找到您的应用程序。 确保“绘制覆盖”选项已启用。 如果您的应用程序不具备此权限,则需要请求此权限。
以下是请求绘制覆盖权限的示例代码:
private static final int DRAW_OVER_OTHER_APP_PERMISSION = 123;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !Settings.canDrawOverlays(this)) {
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
Uri.parse("package:" + getPackageName()));
startActivityForResult(intent, DRAW_OVER_OTHER_APP_PERMISSION);
} else {
// Permission granted
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == DRAW_OVER_OTHER_APP_PERMISSION) {
if (resultCode == RESULT_OK) {
// Permission granted
} else {
// Permission not granted
}
} else {
super.onActivityResult(requestCode, resultCode, data);
}
}
这将在绘制覆盖权限不可用时引导用户到设置应用程序中开启权限。当权限被授权或禁止时,将通过“onActivityResult”回调函数返回结果。
上一篇:Android无法关闭wifi