是否有广播接收者(或任何其他机制),当用户打开另一个应用时,我的应用会被通知。
我喜欢跟踪用户实时使用的应用(即时通知); UsageStatsManager可以用于类似的功能,但它不会实时提供该信息(它需要时间窗口作为参数)
答案 0 :(得分:0)
您可以使用ActivityManager
获取当前正在运行的应用的信息。每分钟(或五分钟,取决于您)检查信息。通过比较数据的变化,您可以获得每个应用程序的运行时间。
希望这可以帮到你。
答案 1 :(得分:0)
你可以试试这个:
ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> runnings= activityManager.getRunningAppProcesses();
for(ActivityManager.RunningAppProcessInfo running: runnings){
System.out.println(running.processName);
}