pro*_*m85 10 permissions android overlay
某些设备具有额外的安全功能,并在显示权限对话框时检查应用是否在其他设备上绘制.
我有一个侧边栏应用程序,我的应用程序必须被禁用,然后用户才能接受系统对话框.
问题
编辑
我能想到的一个解决方案如下:
使用AccessibilityService以检查当前前台应用程序/视图.在那里,我将能够检查显示当前前景活动甚至视图的事件......
我的问题:
据我所知,你想要的东西是不可能的。在类似的问题中,有一个解决方案可以检测系统对话框,但我认为它不适用于您的叠加层(仅适用于当前活动的活动)。
另一个问题表明,可以通过ActivityManager类监视系统对话框,但该 API 自 LOLIPOP 以来已被弃用。
出于这些原因,我建议您在叠加层中添加一个暂停按钮。或者更好的是,使用带有停止/启动按钮的粘性通知,以便用户可以手动暂停您的覆盖。
public boolean isSystemApp(String packageName) {
try {
// Get packageinfo for target application
PackageInfo targetPkgInfo = mPackageManager.getPackageInfo(
packageName, PackageManager.GET_SIGNATURES);
// Get packageinfo for system package
PackageInfo sys = mPackageManager.getPackageInfo(
"android", PackageManager.GET_SIGNATURES);
// Match both packageinfo for there signatures
return (targetPkgInfo != null && targetPkgInfo.signatures != null && sys.signatures[0]
.equals(targetPkgInfo.signatures[0]));
} catch (PackageManager.NameNotFoundException e) {
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1057 次 |
| 最近记录: |