我通过以下方式访问用户统计信息:
UsageStatsManager userStatsMgr = (UsageStatsManager)getSystemService("usagestats");
List<UsageStats> userStats = mUsageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_BEST, timeStamp - 1000*200, timeStamp)
似乎工作:
android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP
但我不确定它是否会继续使用更新的SDK?我在使用此权限时看到了一些警告,但这些并不具体。所以我想知道这些限制到底是什么?
ActivityManager mgr = (ActivityManager)ctx.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo>
processes = manager.getRunningAppProcesses();
app=processes.get(0).processName;
并且
ActivityManager actMgr = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
actMgr.killBackgroundProcesses(process);
android.permission.PACKAGE_USAGE_STATS
只能由系统活动授予,并且活动可能不会出现在所有设备上。众所周知,已经从至少部分设备中删除它的制造商包括Samsung和LG。
启动系统活动的意图行动是Settings.ACTION_USAGE_ACCESS_SETTINGS
。在尝试启动之前,检查Intent#resolveActivity(...)
是否返回非null值。