Список всех действий в приложении - PullRequest
6 голосов
/ 22 мая 2011

Есть ли способ, как получить список всех действий в запущенном приложении?

Я пробовал:

ActivityInfo[] list = getPackageManager().getPackageArchiveInfo(
                    "/sd-ext/app/cz.eman.smartstore.android-1.apk",
                    PackageManager.GET_ACTIVITIES).activities;

но он не возвращает список со всеми из них.

Ответы [ 3 ]

8 голосов
/ 22 мая 2011

Если приложение запущено, используйте getPackageInfo() вместо getPackageArchiveInfo().

4 голосов
/ 17 августа 2012

@ CommonsWare исправлено. Единственное, что я хочу добавить для решения (и только что прокомментировал, но вы не можете правильно отформатировать комментарии), это то, что вам не нужно жестко кодировать имя вашего пакета.

Это решение должно работать:

ActivityInfo[] list = getPackageManager().getPackageInfo(getPackageName()).activities;
0 голосов
/ 17 февраля 2017

Этот код получает список всех Activities в приложении.Вы можете использовать тот же код, чтобы получить Broadcast Receivers, Services и Content Providers с небольшим редактированием.Пожалуйста, дайте мне знать, если есть какой-нибудь способ получить Intent-filters.

public  String getAllActivities(Context context) {
    try {
        String Activities = "";
        PackageInfo pi = context.getPackageManager().getPackageInfo(
                context.getPackageName(), PackageManager.GET_ACTIVITIES);
        if(pi.activities!=null)
        {
        ActivityInfo[] Activities_array = pi.activities;

        for (int i = 0; i < Activities_array.length; i++) {
            int j=i+1;
            Activities  = Activities + j + ") "+ pi.activities[i].name+ ", \n";
        }
        }

        if(Activities.equals(null))
            return "-";
        else 
            return Activities;

    } catch (PackageManager.NameNotFoundException e) {
        e.printStackTrace();
        return null;
    }
}`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...