Tag: 使用情况统计

如何使用UsageStatsManager?

背景 Google已弃用“ActivityManager”类的函数“ getRecentTasks ”。 现在只需要获取当前应用程序打开的应用程序列表。 我甚至在StackOverflow上写了一篇文章,但是我注意到这是不可能的。 问题 我已经做了一个关于它的文章( 在这里 ,另一个是由别人创build的类似文章),并请求重新考虑它,Google决定创build一个新的类,它似乎提供了类似的function(更像是统计,但也可能是有用的),但我不知道如何使用它。 该类被称为“UsageStatsManager”,我的猜测是函数“ queryUsageStats ”做这个工作。 此外,它似乎有一个新的权限(“android.permission.PACKAGE_USAGE_STATS”),这是一个系统权限,但它写道: 声明权限意味着使用API​​的意图,并且设备的用户可以通过设置应用程序授予权限。 这是关于这个新function的另一个链接。 我发现了什么 我已经看了Android的代码,并注意到“Context”有USAGE_STATS_SERVICE,在JavaDocs中说下一件事: /** * Use with {@link #getSystemService} to retrieve a {@link * android.app.UsageStatsManager} for interacting with the status bar. * * @see #getSystemService * @see android.app.UsageStatsManager * @hide */ public static final String USAGE_STATS_SERVICE = "usagestats"; 奇怪的是,它不仅说“状态栏”,而且packageName不匹配(而应该是“android.app.usage.UsageStatsManager”)。 我也添加了正确的权限: […]

如何在Android上按应用程序查找数据使用情况?

我正在尝试在每个应用程序的基础上找出Android上的数据使用情况。 像Android数据使用应用程序和配额/大写监视器小工具:永远不会收取数据额外的费用或再次封顶! 。 我看了堆栈溢出问题如何去检测Android环境中的数据使用情况 。 但这并没有太大的帮助。 ActivityManager activityManager = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE); ActivityManager.MemoryInfo mInfo = new ActivityManager.MemoryInfo(); activityManager.getMemoryInfo( mInfo ); List<RunningAppProcessInfo> listOfRunningProcess = activityManager.getRunningAppProcesses(); Log.d(TAG, "XXSize: " + listOfRunningProcess.size()); for (RunningAppProcessInfo runningAppProcessInfo : listOfRunningProcess) { if (runningAppProcessInfo.uid > 1026) { Log.d(TAG, "ANS " + runningAppProcessInfo.processName + " Id :" + runningAppProcessInfo.pid + " UID: " + […]