How to find the currently running applications programmatically in Android?
Как программно найти запущенные в данный момент приложения в Android?
Я новичок в Android. Я работаю над приложением, которое должно получать информацию о приложениях, запущенных в данный момент на переднем плане.
Это означает, что если пользователь запускает какие-либо приложения, мое приложение должно фиксировать информацию о запущенном приложении к тому времени, когда мое приложение не должно прерывать запущенное приложение.
Пример: если пользователь запускает приложение браузера, мое приложение должно распечатать информацию о приложении браузера в журнале.
String line; while (mRunning && (line = mReader.readLine()) != null) { if (!mRunning) { break; } if (line.length() == 0) { continue; } if (mIsFilterPattern) { if (mFilterPattern != null && !mFilterPattern.matcher(line).find()) { continue; } } else { if (mFilter != null && !line.toLowerCase().contains(mFilter.toLowerCase())) { continue; } } synchronized (mLogCache) { mLogCache.add(line); } }
Ответ 4
ActivityManager.getRunningTasks(int) устарело с API 21 по соображениям безопасности. Вы можете использовать ActivityManager.RunningTaskInfo(), чтобы, по крайней мере, получить информацию о задаче для текущей задачи, в которой выполняется это действие (хотя некоторые поля RunningTaskInfo(), но не весь метод, устарели в API 29).
Смотрите Документы Google для получения дополнительной информации о запуске TaskInfo().