Android 应用使用情况统计

这篇具有很好参考价值的文章主要介绍了Android 应用使用情况统计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Android 应用使用情况统计

本篇文章简单记录下android中usageStatsManager的简单使用.

UsageStatsManager提供对设备使用历史记录和统计信息的访问,时间周期为days, weeks, months, and years.

1: 权限申请

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

2: 授予权限

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

3: 获取应用使用时长

// 获取UsageStatsManager实例
UsageStatsManager usageStatsManager = (UsageStatsManager) getSystemService(Context.USAGE_STATS_SERVICE);

// 获取当前时间和过去一段时间的时间戳
Calendar calendar = Calendar.getInstance();
long endTime = calendar.getTimeInMillis();
calendar.add(Calendar.DAY_OF_WEEK, -1);
long startTime = calendar.getTimeInMillis();

// 查询应用使用时长
List<UsageStats> usageStatsList = usageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, startTime, endTime);

// 遍历应用使用时长列表
for (UsageStats usageStats : usageStatsList) {
    // 获取应用包名
    String packageName = usageStats.getPackageName();
    // 获取应用使用时长(以毫秒为单位)
    long totalTimeInForeground = usageStats.getTotalTimeInForeground();
    if (totalTimeInForeground>0)
    // 输出应用包名和使用时长
    Log.d("XXXX", "pkgName: " + packageName + ", totalTimeInForeground: " + totalTimeInForeground/1000);
}

getTotalTimeInForeground 方法是获取应用在前台的使用时长,单位毫秒.

queryUsageStats 可以指定时间间隔查询:文章来源地址https://www.toymoban.com/news/detail-829249.html

 /**
     * An interval type that spans a day. See {@link #queryUsageStats(int, long, long)}.
     */
    public static final int INTERVAL_DAILY = 0;

    /**
     * An interval type that spans a week. See {@link #queryUsageStats(int, long, long)}.
     */
    public static final int INTERVAL_WEEKLY = 1;

    /**
     * An interval type that spans a month. See {@link #queryUsageStats(int, long, long)}.
     */
    public static final int INTERVAL_MONTHLY = 2;

    /**
     * An interval type that spans a year. See {@link #queryUsageStats(int, long, long)}.
     */
    public static final int INTERVAL_YEARLY = 3;

    /**
     * An interval type that will use the best fit interval for the given time range.
     * See {@link #queryUsageStats(int, long, long)}.
     */
    public static final int INTERVAL_BEST = 4;

4: 测试输出

2024-02-19 16:29:10.489 13045-13045/com.test.usagetest D/XXXX: Package Name: com.coloros.wirelesssettings, Total Time: 7
2024-02-19 16:29:10.489 13045-13045/com.test.usagetest D/XXXX: Package Name: com.test.usagetest, Total Time: 336
2024-02-19 16:29:10.490 13045-13045/com.test.usagetest D/XXXX: Package Name: android, Total Time: 103
2024-02-19 16:29:10.490 13045-13045/com.test.usagetest D/XXXX: Package Name: com.test.android, Total Time: 2585
2024-02-19 16:29:10.490 13045-13045/com.test.usagetest D/XXXX: Package Name: com.google.android.captiveportallogin, Total Time: 12
2024-02-19 16:29:10.490 13045-13045/com.test.usagetest D/XXXX: Package Name: com.oppo.launcher, Total Time: 170
2024-02-19 16:29:10.490 13045-13045/com.test.usagetest D/XXXX: Package Name: com.coloros.digitalwellbeing, Total Time: 49
2024-02-19 16:29:10.490 13045-13045/com.test.usagetest D/XXXX: Package Name: com.tencent.mobileqq, Total Time: 2557
2024-02-19 16:29:10.490 13045-13045/com.test.usagetest D/XXXX: Package Name: com.android.packageinstaller, Total Time: 9
2024-02-19 16:29:10.490 13045-13045/com.test.usagetest D/XXXX: Package Name: com.test.tools, Total Time: 9
2024-02-19 16:29:10.490 13045-13045/com.test.usagetest D/XXXX: Package Name: com.android.settings, Total Time: 106
2024-02-19 16:29:10.490 13045-13045/com.test.usagetest D/XXXX: Package Name: com.android.vpndialogs, Total Time: 2

到了这里,关于Android 应用使用情况统计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 关于Android Studio 找不到设备的情况

    本人小白 学习阶段碰到这个问题 想着可能有人跟我有一样的问题 所以记录一下 有用的话可以点赞收藏 1、确保Android Studio下载了Google USB Driver (Android Studio右上角图标可以点进去,也可以从Setting进去)  2、电脑打开“设备管理器” 如图 找到你的设备 3、点击自己的设备右键

    2024年02月06日
    浏览(41)
  • Android Studio统计代码量

    如何知道你写的android项目里面的程序量(即有多少行代码)可以使用Android Studio自带的一个插件 Statistic 实现,下面是详细的步骤说明。 首先点开settings然后找到Plugins,在这里找到我们需要下载的插件,这里我已经提前安装好了。 插件安装成功后,settings中的Tools最下面会显

    2024年02月04日
    浏览(42)
  • 使用Android Studio实现图片滤镜应用

    简介: 本文将介绍如何使用Android Studio开发一个图片滤镜应用。通过应用中提供的滤镜效果,用户可以对图片进行美化和编辑。我们将使用Android Studio提供的图像处理库和一些常见的滤镜算法来实现这个应用。 步骤一:创建新项目 打开Android Studio并创建一个新的项目。在项目

    2024年02月12日
    浏览(45)
  • Android中Fragment生命周期的异常情况分析

    Fragment生命周期中可能会出现一些异常情况,主要包括以下几种: Fragment未被销毁:当Fragment被创建后,如果没有被销毁,但又被移除,就会导致Fragment的生命周期问题。这种情况下,可以通过在Fragment中手动调用FragmentManager的销毁方法来解决。 Fragment与Activity关联异常:当Fr

    2024年03月12日
    浏览(50)
  • 【Android】使用 adb 命令行工具结合 pm列出 Android 设备上已安装应用的应用名称和包名

    要列出 Android 设备上已安装应用的应用名称和包名,你可以使用 adb 命令行工具结合 pm(PackageManager)命令来实现。 首先,确保你已经安装了 Android SDK,并将 adb 工具添加到系统的环境变量中。 然后,打开终端或命令行窗口,连接你的 Android 设备,并输入以下命令: 上述命令

    2024年02月09日
    浏览(48)
  • 在Android应用中集成使用traceroute工具

    背景知识 traceroute是一个常用于Linux系统的网络工具,它可显示数据包在IP网络中所经过路由的IP地址,理想状态下可探测本机和目标地址之间的所有路由节点。 其他操作系统中也有类似的替代品,实现都大同小异。一般用法如下: 上面例子一共有14行输出结果,我们可称之为

    2024年02月17日
    浏览(35)
  • 使用Eclipse开发Android应用并在手机上运行

    在Android应用开发中,Eclipse是一种常用的集成开发环境(IDE),它提供了丰富的工具和功能来简化Android应用程序的开发过程。本文将介绍如何使用Eclipse开发Android应用,并在手机上运行应用程序。 以下是在Eclipse中开发Android应用并在手机上运行的步骤: 安装Java Development Kit(

    2024年04月14日
    浏览(48)
  • Xamarin体验:使用C#开发iOS/Android应用

    http://www.cnblogs.com/lwme/p/use-xamarin-develop-Android-iOS-app.html Xamarin是Mono创始人Miguel de Icaza创建的公司,旨在让开发者可以用C#编写iOS, Android, Mac应用程序,也就是跨平台移动开发。 简介 Xamarin是基于Mono的平台,目前主要有以下产品(更具体请见:http://xamarin.com/products): Xamarin Studio:

    2024年02月07日
    浏览(46)
  • Android- Widget (应用微件/小组件/插件) 使用介绍

    App Widget 即叫 应用微件 或者 小组件/插件. 是可以 嵌入其他应用 (如主屏幕)并 接收定期更新 的 微型应用视图 。 这些视图称为界面中的微件. 例如,添加到桌面上的音乐Widget: app_widget_music_sample.PNG 能够容纳其他应用微件的应用组件称为 AppWidgetHost (应用微件托管应用) 。

    2023年04月08日
    浏览(82)
  • 如何在不带备份的情况下恢复 Android 手机照片?

    你的 Android 手机出了什么问题? Android 手机上的垃圾文件过多。 您的 Android 手机屏幕黑屏。 您的手机蓝屏死机。 您的设备卡在启动屏幕上。 电话停止工作。 手机一直关机。 ... 您是否遇到过以上情况并将您的 Android 手机恢复出厂设置?如果是这样,您可能会发现您的手机数

    2024年04月09日
    浏览(94)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包