2017-02-03 12 views
0

В MainActivity Я хочу знать текущее Топ Activity открыт внутри приложения.Как стать участником Активность компании

Для предварительной леденец я использовал следующие

ActivityManager am = (ActivityManager)this.getSystemService(Context.ACTIVITY_SERVICE); 
ComponentName cn = am.getRunningTasks(1).get(0).topActivity; 

На других постах я нашел, я должен использовать:

getAppTasks() and gettaskinfo 

Но я не могу найти какой-либо полный пример, демонстрирующий, как использовать выше. Любая помощь благодарна. С уважением.

Edit: Текущий код:

if (Build.VERSION.SDK_INT >= 23) { 
     cn = am.getAppTasks().get(0).getTaskInfo().topActivity; 
}else{ 
     cn = am.getRunningTasks(1).get(0).topActivity; 
} 

am.getRunningTasks осуждается в API 21. am.getAppTasks # topActivity доступен в API 23. Таким образом, обновленный вопрос в том, как справиться с этим для API 21 и 22.

ответ

0
ActivityManager mgr = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); 
if (mgr != null) { 
    List<ActivityManager.AppTask> tasks = mgr.getAppTasks(); 
    String className; 
    if (tasks != null && !tasks.isEmpty()) { 
    className = tasks.get(0).getTaskInfo().topActivity.getClassName(); 
    } 
}  

Кредиты перейти к https://www.intertech.com/Blog/android-5-api-changes-getapptasks/