Получить информацию о категории Android запущенного задания - PullRequest
0 голосов
/ 18 января 2012

В Android я могу получить текущие задачи и действия, используя код, подобный tis:

(ActivityManager.RunningTaskInfo) this.mActivityManager.getRunningTasks()

Тогда я могу получить имя пакета, имя класса и т. Д.

Мой вопрос таков: есть ли способ получить информацию о категории? Или кто-нибудь может предложить альтернативное решение? например, когда я запускаю приложение, категория

cat=[android.intent.category.LAUNCHER] 

Ответы [ 3 ]

1 голос
/ 18 января 2012

Я не совсем уверен, что вы имеете в виду, но, возможно, вам нужно следующее: получить намерение в своей деятельности, вызвав getIntent(), а для объекта Intent вызовите метод getCategories().Этот метод вернет набор со строками категорий.

0 голосов
/ 25 декабря 2012

Я не нашел прямого способа сделать это, но это может помочь:

Intent ApplicationIntent = new Intent(Intent.ACTION_MAIN);
ApplicationIntent.addCategory(Intent.CATEGORY_LAUNCHER);  

List<ResolveInfo> LauncherResolves = packageManager.queryIntentActivities(ApplicationIntent, 0);

List<String> AppsList = new ArrayList<String>();

for (int i = 0; i < LauncherResolves.size(); i++)
    AppsList.add(LauncherResolves.get(i).activityInfo.name);

List<RunningTaskInfo> runningAppInfo = activityManager.getRunningTasks(10);
for (int i = 0; i < runningAppInfo.size(); i++)
{
    if (AppsList.contains(runningAppInfo.get(i).topActivity.getClassName()))
    {
        // Do what ever you want
    }
}
0 голосов
/ 29 января 2012

Я не совсем уверен, решит ли это вашу проблему, но вы можете использовать ActivityManager getRecentTasks (int, int) API для получения информации о последних задачах.Он возвращает список ActivityManager.RecentTaskInfo объектов, в которых есть информация о намерении, используемом для запуска задачи.Вы также можете использовать поле RecentTaskInfo.id для сопоставления задачи с запущенными задачами.

...