是否可以使用android来检测Android手机上的某个应用是否在屏幕上打开。例如,检查用户当前是否正在使用他/她的照片应用。到目前为止,我所阅读的大多数问题都是检查某个BACKGROUND应用程序是否正在运行;我试图弄清楚我是否可以检查某个应用程序当前是否在屏幕上打开并运行。因此,使用我的应用程序(将在后台运行)来检测应用程序(例如照片应用程序)是否已打开并由用户使用。
答案 0 :(得分:2)
ActivityManager am =(ActivityManager)context.getSystemService(ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> tasks = am.getRunningTasks(1);
ActivityManager.RunningTaskInfo task = tasks.get(0); // current task
ComponentName rootActivity = task.baseActivity;
String currentPackageName = rootActivity.getPackageName();
if(currentPackageName.equals("com.sec.android.gallery3d")) {
//Do whatever here
}
使用currentPackageName查看它是否是您想要的应用程序。
更多信息,请查看此处:Android: How can I get current opened application name on screen
编辑: 此外,您应该添加此权限
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />