android.permission.PACKAGE_USAGE_STATS仅用于系统应用程序吗?

问题描述 投票:0回答:1

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

 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 usage-statistics usagestatsmanager
1个回答
3
投票

android.permission.PACKAGE_USAGE_STATS只能由系统活动授予,并且活动可能不会出现在所有设备上。众所周知,已经从至少部分设备中删除它的制造商包括Samsung和LG。

启动系统活动的意图行动是Settings.ACTION_USAGE_ACCESS_SETTINGS。在尝试启动之前,检查Intent#resolveActivity(...)是否返回非null值。

© www.soinside.com 2019 - 2024. All rights reserved.