Определение текущего приоритетного приложения от фоновой задачи или сервиса

Я хочу иметь одно приложение, которое работает в фоновом режиме, который знает, когда любое из встроенных приложений (обмен сообщениями, контакты, и т.д.) работает.

Таким образом, мои вопросы:

  1. Как я должен запустить свое приложение в фоновом режиме.

  2. Как мое фоновое приложение может знать, каково приложение, в настоящее время работающее на переднем плане.

Ответы от людей с опытом значительно ценились бы.

107
задан Swati Garg 15 October 2018 в 03:41
поделиться

2 ответа

Класс ActivityManager класс является соответствующим инструментом, который можно увидеть, какие процессы работают.

Чтобы запустить на заднем плане, вы обычно хотите использовать службу .

6
ответ дан 24 November 2019 в 03:39
поделиться

Сделайте что-нибудь вроде этого:

int showLimit = 20;

/* Get all Tasks available (with limit set). */
ActivityManager mgr = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> allTasks = mgr.getRunningTasks(showLimit);
/* Loop through all tasks returned. */
for (ActivityManager.RunningTaskInfo aTask : allTasks) 
{                  
    Log.i("MyApp", "Task: " + aTask.baseActivity.getClassName()); 
    if (aTask.baseActivity.getClassName().equals("com.android.email.activity.MessageList")) 
        running=true;
}
0
ответ дан 24 November 2019 в 03:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: