我有一个涉及声音池的应用程序 - 在应用程序启动时加载所有声音,然后加载主屏幕。
现在,我想检查应用程序是否正在运行 - 如果没有运行我想重新加载应用程序 - 如果它正在运行我不想重新加载应用程序。
为此我尝试了以下方法:
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。直到应用程序获得进程 com.me.checkprocess true - 它总是 false?所以它总是首先进入 else 部分。
例如:如果总进程数为 30。而我的进程 com.me.checkprocess 在第 29 次运行。什么时候执行条件。直到第 28 个进程是 else,第 29 个进程进入条件 true。
如何修复这部分 - 我想在检查整个过程后才转到其他部分?
告诉我!
最佳答案
我想你可以添加
break;
下方
Log.e("Result", "App is running - Doesn't need to reload");
在if
语句中
关于android - 检查我的应用程序是否在 Android 中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15085897/