如何获取当前正在运行的应用程序?
我想检查应用程序是否正在运行或不在服务中。
我为此使用了以下代码。
ActivityManager activityManager =
(ActivityManager)
this.getSystemService(ACTIVITY_SERVICE );
PackageManager pm =getPackageManager();
procInfos = activityManager.getRunningAppProcesses();
但它会返回几个应用程序的列表,即使我按下了主屏幕上的后退按钮。正在运行的应用程序列表仍然在列表中显示它们。但我希望该列表仅显示前台的应用程序。
那么,如何区分前台和后台运行的应用程序呢?
或者换句话说,如何检测当前前台运行的应用程序,或者哪些没有被破坏。我不想让应用程序后台运行。
您可以尝试以下代码,它给出当前活动屏幕的包:
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;
if(!componentInfo.getPackageName().equals("your.package.name"))
{
//Do your stuff
}
您可能需要许可
<uses-permission android:name="android.permission.GET_TASKS" />
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)