我有一项在 Android 上运行的服务,我需要知道是否有任何应用程序处于焦点位置,或者“桌面”(主屏幕)是否处于焦点位置。我不知道这是否是指代手机主屏幕的正确词。我怎么知道这是焦点还是其他应用程序?
在服务内部,我有这段代码来获取正在运行的任务:
ActivityManager am = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
// get the info from the currently running task
List<ActivityManager.RunningTaskInfo> taskInfo = am.getRunningTasks(1);
ComponentName componentInfo = taskInfo.get(0).topActivity;
我怎么知道componentInfo
这是否是桌面?在模拟器上,componentInfo.getPackageName() 返回com.android.launcher
,但在 Galaxy S1 中(我只在这款手机中测试过)返回别的东西。
还有其他方法可以做到这一点吗?