1

現在フォアグラウンドにあるプロセスを理解するために、次のコードを使用しています。

ActivityManager activityManager = (ActivityManager) newContext.getSystemService( Context.ACTIVITY_SERVICE );
List<RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();
for(RunningAppProcessInfo appProcess : appProcesses){
    if(appProcess.importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND){
        Log.i("Foreground App", appProcess.processName);
          [...]
    }
}

ただし、ストック ランチャー、apex、nova ランチャーなどの 4.0.4 ランチャーを使用している場合にのみ機能します。GoLauncher または Launcher Pro に切り替えると、ログに記録されません。それらがフォアグラウンドになることはないようです (または、コードのこの部分がそれらを検出できません)。

4

0 に答える 0