Android10.0之后,谷歌对于APP监听系统开机广播来实现自启动的方式做了新的限制方案,相对于旧的Android版本,开发者需要在AndroidManifest.xml文件里声明悬浮窗权限(Android6.0以上才能使用):
<uses-permission android:name ="android.permission.SYSTEM_ALERT_WINDOW" />
悬浮窗权限属于Android特殊权限,无法动态申请获得,需要在应用内通过跳转的方式来开启此权限。获取方案示例如下:
@RequiresApi(api = Build.VERSION_CODES.M)
//检查是否已经授予权限
if (!Settings.canDrawOverlays(this)) {
//若未授权则请求权限
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION);
intent.setData(Uri.parse("package:" + getPackageName()));
startActivityForResult(intent, 0);
}
从Android10.0开始,谷歌限制了APP通过监听系统开机广播进行自启动。开发者现在需要在AndroidManifest.xml中声明SYSTEM_ALERT_WINDOW权限,并且由于该权限属于特殊权限,不能动态申请,需要引导用户在设置中开启。文章提供了检查和请求悬浮窗权限的代码示例。
366

被折叠的 条评论
为什么被折叠?



