之前也就是Android系统5.0之前我们一贯的做法去栈顶应用的方法是用getRunningTask,但是5.0之后被google给屏蔽了,但是对于我们做应用锁,或者桌面悬浮窗的小伙伴们可如何是好,因为没有这些我们是无法判断当前的栈顶程序是谁,我们就不能对之进行程序加密,或者隐藏和显示桌面悬浮窗了。总会有方法的,查资料发现大家都在用”有权查看使用情况的应用程序“ 也就是用UsageStatsManager获取栈顶程序,但是他需要我们程序赋予App权限,也就是”有权查看使用情况的应用程序“
就是在安全-高级-有权查看使用情况的应用 在这个模块中勾选上指定APP就可以获取到栈顶的应用名。
程序中我们用Settings.ACTION_USAGE_ACCESS_SETTINGS 这个常量就是跳转到设置界面。
注意:这个设置被部分厂商给拿掉了,例如:小米和魅族
这个选项需要的权限
[html] view plain copy
tools:ignore="ProtectedPermissions" />