android - 如何找出应用程序(Whats App)的使用时间?

标签 android whatsapp usage-statistics

我一直在四处寻找,想找出一种方法来了解我在 Whatsapp 上花费了多少时间。我在 Playstore 上找到了几个应用程序:

https://play.google.com/store/apps/details?id=com.agrvaibhav.AppUsageTracking&hl=en

此类应用程序的大小小于 1MB,所以我猜这是一段相当简单的代码,但我找不到任何方法。

所有链接要么提供一种方法让我知道我自己的应用程序被使用了多少,要么他们说这可能侵犯隐私 [奇怪!]。

代码 * # * # 7 8 6 # * # * 应该可以工作,但每次我尝试时都会崩溃。

我苦苦寻找,找不到任何解决方案。我想到的一种可能方法是运行跟踪所有打开的应用程序的服务 - 但我不确定这在 Android 中是否可行。

最佳答案

是的,Usage Stats API 就是答案。 最初很难弄清楚,但我终于设法做到了。

所需的权限是:

<uses-permission
android:name="android.permission.PACKAGE_USAGE_STATS"
tools:ignore="ProtectedPermissions" />

获取应用使用情况的代码:

 final UsageStatsManager usageStatsManager = (UsageStatsManager) getSystemService(Context.USAGE_STATS_SERVICE);// Context.USAGE_STATS_SERVICE);
            Calendar beginCal = Calendar.getInstance();
            beginCal.set(Calendar.DAY_OF_MONTH, 11);
            beginCal.set(Calendar.MONTH, 10);
            beginCal.set(Calendar.YEAR, 2015);

            Calendar endCal = Calendar.getInstance();
            endCal.set(Calendar.DAY_OF_MONTH, 12);
            endCal.set(Calendar.MONTH, 10);
            endCal.set(Calendar.YEAR, 2015);

final List<UsageStats> queryUsageStats = usageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, beginCal.getTimeInMillis(), endCal.getTimeInMillis());
System.out.println("results for " + beginCal.getTime().toGMTString() + " - " + endCal.getTime().toGMTString());
for (UsageStats app : queryUsageStats) {
    System.out.println(app.getPackageName() + " | " + (float) (app.getTotalTimeInForeground() / 1000));
}

打开权限使用:

Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS);
startActivity(intent);

这个问题帮助解决了所有问题。 Android 网站上更好的文档会有很大帮助。

这里有几个链接对我有帮助:

https://github.com/googlesamples/android-AppUsageStatistics

How to use UsageStatsManager?

关于android - 如何找出应用程序(Whats App)的使用时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32699698/

相关文章:

mysql - 找出 MySQL 索引的使用统计信息?

swift - 在 Swift 中获取有关进程的信息

用于发送/管理使用统计信息的 Python 库

android - 在 okhttp 请求中使用证书与 android

java - 如何从 ListView 中删除选定的项目?

javascript - 为什么 chrome 开发者工具不显示 WhatsApp 网络应用程序请求?

ffmpeg-whatsapp : video format not supported

javascript - React Native Samsung Universal Link 升级到 Android 12 后停止工作

android - Libav 和网络摄像头捕获

ios - 通过 WhatsApp 共享 PDF