Android 如果应用程序是从play store下载的,则覆盖屏幕选项默认为启用
在Android 6中,我们必须在应用程序中处理覆盖屏幕,我在某处读到,若应用程序是从play store下载的,那个么默认情况下,覆盖屏幕选项是启用的。我只是想确认一下这是真的吗?或者为此,我们必须进行额外的编码。目前,我正在使用以下代码调用Android 6+设备的overlay screen enable:Android 如果应用程序是从play store下载的,则覆盖屏幕选项默认为启用,android,android-overlay,Android,Android Overlay,在Android 6中,我们必须在应用程序中处理覆盖屏幕,我在某处读到,若应用程序是从play store下载的,那个么默认情况下,覆盖屏幕选项是启用的。我只是想确认一下这是真的吗?或者为此,我们必须进行额外的编码。目前,我正在使用以下代码调用Android 6+设备的overlay screen enable: private void callOverlayScreen() { if (!Settings.canDrawOverlays(this)) {
private void callOverlayScreen() {
if (!Settings.canDrawOverlays(this)) {
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
Uri.parse("package:" + BuildConfig.APPLICATION_ID));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
this.startActivity(intent);
}
}
当前我的if条件始终为true。若假设我在play store上发布应用程序,那个么在用户手动禁用覆盖屏幕之前,它不会进入If状态
我们可以在不从playstore下载应用程序的情况下检查此行为吗?在中,它说:
注意:如果应用程序的目标API级别为23或更高,则应用程序用户必须通过权限管理屏幕向应用程序明确授予此权限
根据for系统警报窗口
,此权限分类为
保护级别:签名
及
注意:如果应用程序的目标API级别为23或更高,则应用程序用户必须通过权限管理屏幕向应用程序明确授予此权限
对于您的问题:
我在某处读到,若应用程序是从play store下载的,那个么默认情况下覆盖屏幕选项是启用的
基于签名级权限的权限授予:
系统在安装时授予这些应用程序权限,但仅当尝试使用权限的应用程序与定义该权限的应用程序具有相同的证书签名时
由于您的应用程序不会使用与系统相同的证书进行签名,因此在安装时不会向您的应用程序授予覆盖权限
我建议你保持现状。是的,你是对的<当从Play Store安装应用程序时,始终授予代码>系统警告窗口权限。 查看StackOverflow上已经提供的另一个答案,该答案确认: 然而,请注意,它只适用于游戏商店。若你们想在三星商店或亚马逊商店发布应用程序,那个么你们可能会遇到问题 还可以查看不同的问题,其中
Toast
被标识为视图,这可能会在某些设备上导致类似问题:
希望这个答案能消除你的一些顾虑。
我在某个地方读到了
你能分享这些信息的来源吗?对我来说似乎不是直觉。嗨@azizbekian谢谢你的回复,我想这是来自