获取app运行时间

getAppUsageTime(ApplicationInfo app) {
            long time = 0;
            if(app==null)
                    return time;
            try {
                    ComponentName component = new ComponentName(app.packageName,app.className);
                    
                    Object oIUsageStats = getIUsageStats();
                    Method getPkgUsageStats = getPkgUsageStats();
                          //调用getPkgUsageStats 获取PkgUsageStats对象
                          Object pkgStats = getPkgUsageStats.invoke(oIUsageStats, component);
                          //获得PkgUsageStats类
                          Class<?> PkgUsageStats = Class.forName("com.android.internal.os.PkgUsageStats");
                          
                          time = PkgUsageStats.getDeclaredField("usageTime").getLong(pkgStats);
            } catch (Exception e) {
                    e. toString ();
                    return 0;
            }
            return time;
            
    }

你可能感兴趣的:(获取app运行时间)