Как отобразить список имен приложений из имен пакетов - PullRequest
1 голос
/ 05 июля 2011

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

Context context = this.getApplicationContext();
ActivityManager mgr = (ActivityManager)context.getSystemService(ACTIVITY_SERVICE);

List<RunningTaskInfo> tasks = mgr.getRunningTasks(30);

List<ActivityManager.RunningAppProcessInfo> tasksP = mgr.getRunningAppProcesses();

int numOfTasks = tasks.size();

for(int i = 0; i < numOfTasks; i++){
    ActivityManager.RunningAppProcessInfo task = tasksP.get(i);

    PackageInfo myPInfo = null;
    try {
        myPInfo = getPackageManager().getPackageInfo(task.processName, 0);
    } catch (NameNotFoundException e) {
        e.printStackTrace();
    }   
    Toast.makeText(location.this,
            task.processName,
            Toast.LENGTH_LONG).show();
}

Также, пожалуйста, скажите мне, как отображать название этих приложений в флажках, чтобы я мог убить желаемое приложение.

Ответы [ 2 ]

4 голосов
/ 05 июля 2011

Попробуйте этот код для получения Установленного приложения в вашем телефоне:

 final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
    mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
    final List<ResolveInfo> pkgAppsList = this.getPackageManager().queryIntentActivities( mainIntent, 0);

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

    for (ResolveInfo ri : pkgAppsList) {
        if (ri.activityInfo != null) {
            String app_name=ri.activityInfo.loadLabel(getPackageManager()).toString();
            Log.d("Apps Name", ""+ri.activityInfo.loadLabel(getPackageManager()).toString());
        }
    }
}

Проверьте эту ссылку для дальнейшей ссылки:

Сведения об установленном приложении

2 голосов
/ 30 августа 2012
    Intent filter = new Intent(Intent.ACTION_MAIN);
    filter.addCategory(Intent.CATEGORY_LAUNCHER);
    Context context = getApplicationContext();

    PackageManager manager = getPackageManager();


  List<ResolveInfo> infos = getPackageManager().queryIntentActivities(filter,0);

    List<Intent> filters = new ArrayList<Intent>();
    filters.add(filter);

    ComponentName component = new ComponentName(context.getPackageName(), MainActivity.class.getName());
    List<ComponentName> activities = new ArrayList<ComponentName>();


    //ComponentName[] components = new ComponentName[] {new ComponentName("//com.neo.application", "com.neo.application.Application"), component};


      try {
        manager.getApplicationInfo(//PACKAGE_NAME);//just Ctrl+space it u'll get the package names.
    } catch (NameNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...