Android нажмите кнопку, чтобы отобразить все установленные приложения на экране

В моем приложении я хочу так:

Пользователь нажимает кнопку -> отображать все установленные приложения с их значком (как мы получаем на мобильном экране в том же индексе) на экране.

при нажатии на значок установленного приложения открывается определенное приложение щелчка.

кто-нибудь дает мне идею или демонстрацию, как это сделать? заранее спасибо.


person Nirav Mehta    schedule 16.10.2014    source источник


Ответы (2)


Вы можете получить список всех установленных приложений следующим образом:

 final List<ApplicationInfo> pkgAppsList = context.getPackageManager().getInstalledApplications(PackageManager.GET_META_DATA);
for(ApplicationInfo app : pkgAppsList)
  {
          // here you will get all the properties of the app

           // Launch app
          Intent i=   getPackageManager().getLaunchIntentForPackage(app.packageName);
          startActivity(i);
   }
person SweetWisher ツ    schedule 16.10.2014
comment
как получить иконку приложения? - person Nirav Mehta; 16.10.2014
comment
в этом случае можно открыть конкретное приложение, щелкнув значок приложения с именем? нажмите на камеру, откройте камеру, как это. - person Nirav Mehta; 16.10.2014
comment
в строке 3: он дает тип miss-match, не может преобразовать в List‹Resolveinfo› в List‹ApplicationInfo› - person Nirav Mehta; 16.10.2014
comment
я все время получал null в getPackageManager().getLaunchIntentForPackage(app.packageName); - person Nirav Mehta; 17.10.2014
comment
Можете ли вы погуглить такие ошибки??? Имейте в виду: SO не для кормления с ложки, мы можем просто показать вам путь, мы не можем кодировать для вас каждый раз. - person SweetWisher ツ; 17.10.2014
comment
Я не получаю null .. Intent i = getPackageManager().getLaunchIntentForPackage(app.packageName); Log.e("Intent ",i.toString()) Проверьте это - person SweetWisher ツ; 17.10.2014
comment
я использовал gridview для отображения значка приложения, он отображается хорошо, но когда я нажимаю onItemClick в gridview в то время, как узнать интерактивный пакет приложения для запуска приложения? - person Nirav Mehta; 17.10.2014
comment

   final PackageManager pm = getPackageManager();
   //get a list of installed apps.
   List<ApplicationInfo> packages = pm.getInstalledApplications(PackageManager.GET_META_DATA);

    for (ApplicationInfo packageInfo : packages) {
         Log.d(TAG, "Installed package :" + packageInfo.packageName);
          Log.d(TAG, "Source dir : " + packageInfo.sourceDir);
         Log.d(TAG, "Launch Activity :" + pm.getLaunchIntentForPackage(packageInfo.packageName)); 
  }

Подробнее здесь http://qtcstation.com/2011/02/how-to-launch-another-app-from-your-app/

Из Как получить список установленных приложений Android и выберите одно из них для запуска

person SelvaMariappan    schedule 16.10.2014