我有一个涉及声音池的应用程序 - 在应用程序启动时加载所有声音,然后加载主屏幕.
现在,我想检查应用程序是否正在运行 - 如果没有运行我想重新加载应用程序 - 如果它正在运行我不想重新加载应用程序.
为此我尝试了以下内容:
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进程,它进入条件为真.
如何解决这个问题 - 我想在完成整个过程后才能找到其他部分?
让我知道!
我想你可以补充一下
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声明中
| 归档时间: |
|
| 查看次数: |
9420 次 |
| 最近记录: |