android

android悬浮窗权限申请怎么设置

小亿
287
2023-08-05 00:50:10
栏目: 编程语言

要在Android中实现悬浮窗权限,需要经过以下几个步骤:

  1. AndroidManifest.xml文件中声明悬浮窗权限:
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
  1. 在需要显示悬浮窗的Activity中,请求悬浮窗权限:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !Settings.canDrawOverlays(this)) {
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION);
intent.setData(Uri.parse("package:" + getPackageName()));
startActivityForResult(intent, REQUEST_CODE);
} else {
// 已有悬浮窗权限,执行悬浮窗相关操作
// ...
}
  1. 在Activity中重写onActivityResult方法,处理悬浮窗权限请求结果:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_CODE) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && Settings.canDrawOverlays(this)) {
// 用户已授予悬浮窗权限,执行悬浮窗相关操作
// ...
} else {
// 用户未授予悬浮窗权限,可以给出相应提示或进行其他处理
// ...
}
}
}

需要注意的是,从Android 6.0(API级别23)开始,悬浮窗权限属于危险权限,需要动态请求,并且在onActivityResult方法中检查权限是否被授予。在Android 6.0以下的版本中,无需动态请求悬浮窗权限,只需在AndroidManifest.xml中声明即可。

0
看了该问题的人还看了