Nar*_*ngh 3 android detect foreground
我如何获得当前正在运行的应用程序?
我想检查应用程序是否正在运行.我使用了以下代码.
ActivityManager activityManager =
(ActivityManager)
this.getSystemService(ACTIVITY_SERVICE );
PackageManager pm =getPackageManager();
procInfos = activityManager.getRunningAppProcesses();
Run Code Online (Sandbox Code Playgroud)
但即使我按下主屏幕上的按钮,它也会返回几个应用程序列表.正在运行的应用列表仍在列表中显示它们.但我希望该列表仅显示前台的应用程序.
那么,如何区分前台和后台运行的应用程序?
或者换句话说,如何检测当前前台运行的应用程序,或者未被销毁的应用程序.我不想让后台运行应用程序.
你可以尝试这个代码,它给出了当前活动屏幕的包:
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
}
Run Code Online (Sandbox Code Playgroud)
您可能需要该权限
<uses-permission android:name="android.permission.GET_TASKS" />
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4529 次 |
最近记录: |