UsageStatsManager
1.UsageStatsManager是android 5.0 以后增加的类,Provides access to device usage history and statistics。提供了设备的使用历史和数据。
通过UsageStatsManager我们可以获取到当前栈顶,也就是屏幕显示的应用包名,5.0以后再使用AM.getTask()那样的方法是获取不到当前应用包名了。
2.伴随着UsageStatsManager的使用,添加了一个权限
<uses-permission
android:name="android.permission.PACKAGE_USAGE_STATS"
tools:ignore="ProtectedPermissions" />
这个权限的使用通过部分华为、三星和中兴设备使用证明,大部分设备需要用户通过手动点击添加权限。为了避免出现问题,建议跟API说明一样,提示用户给予权限。下面是我的写法:
private boolean isNoSwitch() {
long ts = System.currentTimeMillis();
UsageStatsManager usageStatsManager = (UsageStatsManager) getApplicationC