サウンドプールを含むアプリケーションがあります-アプリケーションの起動時にすべてのサウンドがロードされ、その後メイン画面がロードされます。
ここで、アプリケーションが実行されているかどうかを確認します。実行されていない場合は、アプリケーションをリロードします。実行されている場合は、アプリケーションをリロードしません。
私は次のことを試しました:
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は@29thで実行されます。条件を実行するとき。28番目のプロセスまではelseであり、@29番目のプロセスまではtrueの状態になります。
この部分を修正する方法-プロセス全体がチェックされた後にのみ他の部分に移動したいですか?
お知らせ下さい!