Java 在android上运行所有应用程序

Java 在android上运行所有应用程序,java,android,Java,Android,嗨, 我正在开发一个应用程序,其中我必须获取设备上安装的所有应用程序的运行时间。 那么,是否有可能知道其他人的应用程序在手机上运行了多长时间?gmail应用程序在手机上运行多长时间 是否有任何API用于此,或者我们必须开发自己的逻辑以使其工作???您可以使用ActivityManager.RunningServiceInfo.activeSince获得每个服务的启动时间列表,如所述。下面是一个片段,用于检索所有服务进程的时间 ActivityManager activityManager =

嗨, 我正在开发一个应用程序,其中我必须获取设备上安装的所有应用程序的运行时间。 那么,是否有可能知道其他人的应用程序在手机上运行了多长时间?gmail应用程序在手机上运行多长时间


是否有任何
API
用于此,或者我们必须开发自己的逻辑以使其工作???

您可以使用ActivityManager.RunningServiceInfo.activeSince获得每个服务的启动时间列表,如所述。下面是一个片段,用于检索所有服务进程的时间

 ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
 List<ActivityManager.RunningServiceInfo> services = activityManager.getRunningServices(Integer.MAX_VALUE);

 long currentMillis = Calendar.getInstance().getTimeInMillis();        
 Calendar cal = Calendar.getInstance();

 for (ActivityManager.RunningServiceInfo info : services) {
     cal.setTimeInMillis(currentMillis-info.activeSince);

     Log.i(TAG, String.format("Process %s with component %s has been running since %s (%d milliseconds)",
             info.process, info.service.getClassName(), cal.getTime().toString(), info.activeSince));
 }
ActivityManager ActivityManager=(ActivityManager)getSystemService(ACTIVITY_服务);
List services=activityManager.getRunningServices(Integer.MAX_值);
long currentMillis=Calendar.getInstance().getTimeInMillis();
Calendar cal=Calendar.getInstance();
对于(ActivityManager.RunningServiceInfo:services){
cal.setTimeInMillis(currentMillis info.activeFrient);
Log.i(标记,字符串.format(“进程%s和组件%s自%s(%d毫秒)以来一直在运行”),
info.process、info.service.getClassName()、cal.getTime().toString()、info.activeSince();
}

可能重复,但是,我如何找到其他应用程序的启动时间,该应用程序运行的时间???Scott,你能告诉我该代码返回我的时间类型吗?因为我不明白它是如何告诉我们应用程序的运行时间的。Log语句记录了启动时间以及后台服务进程运行的毫秒数。您将希望使用与Log语句相同的方法调用来处理数据。