检查屏幕上的应用程序

时间:2013-12-26 04:35:35

标签: android service

有没有办法检测应用何时进入暂停状态或检查当前在屏幕上显示或运行的应用?

我知道我可以获得正在运行的应用程序列表,但我想知道应用程序(不是我的应用程序)何时进入暂停状态或者应用程序是否显示在屏幕上。

此致

1 个答案:

答案 0 :(得分:0)

如果你想连续检查启动后台线程。

private Handler handler;
private Runnable _runnable;

private void startThread() {
    handler=new Handler();
    _runnable = new Runnable() {
        public void run() {
            checkRunningApplications();
            handler.postDelayed(_runnable, 500);
        }
    };
    _runnable.run();
}

private void checkRunningApplications() {
    ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
    List<RunningTaskInfo> runningTasks = activityManager.getRunningTasks(1);
    RunningTaskInfo runningTaskInfo = runningTasks.get(0);
    ComponentName topActivity = runningTaskInfo.topActivity;
    System.out.println(topActivity.getPackageName());
}

在清单文件中提及以下权限:

<uses-permission android:name="android.permission.GET_TASKS" />