2

我通过以下方式访问用户统计信息:

 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);
4

1 回答 1

5

android.permission.PACKAGE_USAGE_STATS只能由系统活动授予,并且该活动可能不会出现在所有设备上。已知已将其从至少部分设备中移除的制造商包括三星和 LG。

启动系统活动的意图操作是Settings.ACTION_USAGE_ACCESS_SETTINGS. 在尝试启动它之前检查它是否Intent#resolveActivity(...)返回一个非空值。

于 2015-09-25T04:36:23.630 回答