android悬浮窗权限申请怎么设置
要在Android中实现悬浮窗权限,需要经过以下几个步骤:
- 在
AndroidManifest.xml
文件中声明悬浮窗权限:
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
- 在需要显示悬浮窗的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 {
// 已有悬浮窗权限,执行悬浮窗相关操作
// ...
}
- 在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
中声明即可。
版权声明
本文仅代表作者观点,不代表米安网络立场。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。