美文网首页
Android 应用监控类UsageStatsManager

Android 应用监控类UsageStatsManager

作者: niknowzcd | 来源:发表于2018-11-13 16:58 被阅读79次

    获取手机内所有应用的运行状况

    • Android api5.0以下 :通过ActivityManager类的getRunningTasks()获取当前打开的所有应用程序 。
    ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
    List<ActivityManager.RunningTaskInfo> infoList = manager.getRunningTasks(10);
    
    • Android api5.0:改成了ActivityManager类的getRunningAppProcesses获取当前打开的所有应用程序 。
    ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
    List<ActivityManager.RunningAppProcessInfo> infoList = manager.getRunningAppProcesses();
    
    • Android api 5.0之后 改成了UsageStatsManager来监控应用程序的运行状态

    下面重点说明一下UsageStatsManager类的使用

    使用方法

    权限添加
    <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
    

    配置上这个熟悉之后,还得引导用户在手机设置界面开启对应的权限,引导方式

     Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS);
     startActivity(intent);
    
    获取手机中正在运行的应用列表
    UsageStatsManager usageManager=(UsageStatsManager) getSystemService(Context.USAGE_STATS_SERVICE);
        if (usageManager != null) {
            int intervalType = UsageStatsManager.INTERVAL_BEST;
            long endTime = System.currentTimeMillis();
            long startTime = endTime - 10000;
    
            List<UsageStats> applicationList = usageManager.queryUsageStats(intervalType, startTime, endTime);
            for (UsageStats usageStats : applicationList) {
                if ("test".equals(usageStats.getPackageName())) {
                    System.out.println("手机中安装了test这个应用");
                    System.out.println("test这个应用在前台的时间 = " + usageStats.getTotalTimeInForeground());
                }
            }
        }
    
    
    

    除了能获取相关应用的前台活动时间,UsageStats还提供以下api

    • usageStats.getFirstTimeStamp(); 启动时间
    • usageStats.getLastTimeStamp(); 存续的时间,即销毁时间-启动时间
    • usageStats.getLastTimeUsed(); 最后一次使用(应该指的是处于前台可见)的时间-启动时间

    参考文档

    相关文章

      网友评论

          本文标题:Android 应用监控类UsageStatsManager

          本文链接:https://www.haomeiwen.com/subject/oiplfqtx.html