Как получить список всех начатых мероприятий? [Дубликат]

Быстрый и простой способ:

var Colors = function(){
return {
    'WHITE':0,
    'BLACK':1,
    'RED':2,
    'GREEN':3
    }
}();

console.log(Colors.WHITE)  //this prints out "0"
17
задан Romain Piel 3 December 2012 в 00:07
поделиться

4 ответа

Итак, есть ли способ сделать это с помощью функции из SDK?

Нет, извините.

Было бы возможно прослушивать события «запуск / завершение деятельности» с каким-то приемником на конкретное приложение (мой) и отслеживать историю стека?

Вы можете использовать registerActivityLifecycleCallbacks() на Application, если вы собираетесь поддерживать API уровня 14 и выше (ака, Android 4.0 +).

18
ответ дан CommonsWare 24 August 2018 в 08:09
поделиться

Очень простой способ для достижения истории активности - с именами классов

определить activity_history_list в вашем mainActivity

public static List<String> activity_history_list;

и в каждом onStart() каждого действия вы создаете (например MainActivity)

 @Override
    public void onStart() {
        super.onStart();

        activity_history_list.add(MainActivity.this.getClass().getSimpleName());
    }

в другом действии (например SettingActivity)

 @Override
        public void onStart() {
            super.onStart();

            MainActivity.activity_history_list.add(SettingActivity.this.getClass().getSimpleName());
        }

Вы можете получить доступ к activity_history_list в любом месте, пока это static, вы можете распечатать всю историю сразу или получить доступ к определенной активности в истории с помощью index

-1
ответ дан Mohamed Embaby 24 August 2018 в 08:09
поделиться

Использование команд ADB:

1. adb shell dumpsys activity activities  -> displays list of activities in back stack

2. adb shell dumpsys activity process  -> displays list process in back stack

3. adb shell dumpsys activity intents  -> displays list of pending intents in back stack

4. adb shell dumpsys activity broadcast  -> displays list of broadcast in back stack

5. adb shell dumpsys activity services  -> displays list of services running in back stack

Использование Менеджера активности:

 ActivityManager m = (ActivityManager) ctx.getSystemService( ctx.ACTIVITY_SERVICE );
    List<RunningTaskInfo> runningTaskInfoList =  m.getRunningTasks(10);
    Iterator<RunningTaskInfo> itr = runningTaskInfoList.iterator();
    while(itr.hasNext()){
        RunningTaskInfo runningTaskInfo = (RunningTaskInfo)itr.next();
        int id = runningTaskInfo.id;
        CharSequence desc= runningTaskInfo.description;
        int numOfActivities = runningTaskInfo.numActivities;
        String topActivity = runningTaskInfo.topActivity.getShortClassName();
}
19
ответ дан Pradeep 24 August 2018 в 08:09
поделиться

вы можете использовать следующий метод:

ActivityManager am = (ActivityManager)this.getSystemService(Context.ACTIVITY_SERVICE);

int sizeStack =  am.getRunningTasks(2).size();

for(int i = 0;i < sizeStack;i++){

    ComponentName cn = am.getRunningTasks(2).get(i).topActivity;
    Log.d("", cn.getClassName());
}

получить список стека активности.

4
ответ дан Raghav Sood 24 August 2018 в 08:09
поделиться
Другие вопросы по тегам:

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