检查我的应用程序是否在Android中运行

The*_*Man 6 android

我有一个涉及声音池的应用程序 - 在应用程序启动时加载所有声音,然后加载主屏幕.

现在,我想检查应用程序是否正在运行 - 如果没有运行我想重新加载应用程序 - 如果它正在运行我不想重新加载应用程序.

为此我尝试了以下内容:

 ActivityManager activityManager = (ActivityManager) this.getSystemService( ACTIVITY_SERVICE );
 List<RunningAppProcessInfo> procInfos = activityManager.getRunningAppProcesses();
 for(int i = 0; i < procInfos.size(); i++){
   if(procInfos.get(i).processName.equals("com.me.checkprocess"))
   {
    Log.e("Result", "App is running - Doesn't need to reload");
   }
   else
   {
     Log.e("Result", "App is not running - Needs to reload);
  }
}
Run Code Online (Sandbox Code Playgroud)

这给出了完美的结果,但一直检查直到procInfos.size小于0.直到app获得进程com.me.checkprocess为true - 它总是假的?所以它总是首先进入其他部分.

例如:如果总进程是30.而我的进程com.me.checkprocess正在运行@ 29th.执行条件时.直到第28个进程才是其他和@ 29进程,它进入条件为真.

如何解决这个问题 - 我想在完成整个过程后才能找到其他部分?

让我知道!

Mys*_*icϡ 7

我想你可以补充一下

break;
Run Code Online (Sandbox Code Playgroud)

下面

Log.e("Result", "App is running - Doesn't need to reload");
Run Code Online (Sandbox Code Playgroud)

if声明中