Как получить пакетное имя runtask на Android M5.1.1

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

           if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                List<ActivityManager.RunningAppProcessInfo> runningappInfo = activityManager.getRunningAppProcesses();
                for (ActivityManager.RunningAppProcessInfo app : runningappInfo) {
                    if (app.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND && app.importanceReasonCode == 0) {
                        Integer state = null;
                        try {
                            state = field.getInt(app);
                        } catch (IllegalAccessException e) {
                            e.printStackTrace();
                        }
                        if (state != null && state == PROCESS_STATE_TOP) {
                            currentInfo = app;
                            break;
                        }
                    }
                }
               if (currentInfo != null) {
                    current = currentInfo.processName.split(":")[0];
                }
           }else{
                List<ActivityManager.RunningTaskInfo> runningTaskInfos = activityManager.getRunningTasks(1);
                ComponentName componentInfo = runningTaskInfos.get(0).topActivity;
                current = componentInfo.getPackageName();
           }

current Вот имя пакета бегущей задачи. Но этот код больше не работал после того, как Google обновил новую версию Android Lollipop5.1.1. Метод "getRunningAppProcesses" теперь возвращает нулевой список. Я застрял сейчас, потому что все другие функции в моем проекте работают, только если я могу получить имя пакета бегущей задачи. Если кто-нибудь решил эту проблему, не могли бы вы мне помочь? Большое спасибо,

1 ответ

Решение

https://code.google.com/p/android-developer-preview/issues/detail?id=2347

Android предлагает использовать это для поиска лучших приложений. https://developer.android.com/reference/android/app/usage/UsageStatsManager.html

Другие вопросы по тегам