我有一个涉及声音池的应用程序 – 在应用程序启动时加载所有声音,然后加载主屏幕.
现在,我想检查应用程序是否正在运行 – 如果没有运行我想重新加载应用程序 – 如果它正在运行我不想重新加载应用程序.
为此我尝试了以下内容:
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); } }
这给出了完美的结果,但一直检查直到procInfos.size小于0.直到app获得进程com.me.checkprocess为true – 它总是假的?所以它总是首先进入其他部分.
例如:如果总进程是30.而我的进程com.me.checkprocess正在运行@ 29th.执行条件时.直到第28个进程才是其他和@ 29进程,它进入条件为真.
如何解决这个问题 – 我想在完成整个过程后才能找到其他部分?
让我知道!
解决方法
我想你可以补充一下
break;
下面
Log.e("Result","App is running - Doesn't need to reload");
在if语句中