2015-08-27 2 views
1

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

  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 здесь имя_пакет из runningtask. Но этот код больше не работал после того, как Google обновил новую версию Android Lollipop5.1.1. Метод «getRunningAppProcesses» теперь возвращает нулевой список. Я застрял сейчас, потому что все остальные функции в моем проекте работают только в том случае, если я могу получить пакетное имя. Если кто-нибудь разрешил эту проблему, не могли бы вы мне помочь? Спасибо большое,

ответ

 Смежные вопросы

  • Нет связанных вопросов^_^