Android:如何知道打开了哪个应用

时间:2016-08-08 00:23:20

标签: android

是否有广播接收者(或任何其他机制),当用户打开另一个应用时,我的应用会被通知。

我喜欢跟踪用户实时使用的应用(即时通知); UsageStatsManager可以用于类似的功能,但它不会实时提供该信息(它需要时间窗口作为参数)

2 个答案:

答案 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);
    }