Подтвердить что ты не робот

GetInstalledApplications vs getInstalledPackages

Могу ли я узнать, какие различия между getInstalledApplications и getInstalledPackages? В документации мало сказано.

4b9b3361

Ответ 1

  • PackageManager.getInstalledApplications(int flags) предоставит вам информацию о теге AndroidManifest Application и только о нем. Забудьте о действиях, получателях, услугах и продолжайте.
  • PackageManager.getInstalledPackages(int flags), с другой стороны, предоставит вам информацию о всех элементах AndroidManifest, такие как заявленные действия, услуги, приемники, метаданные

Оба метода предоставят информацию о любом приложении, независимо от того, имеют ли они или не объявили категорию намерений android.intent.category.LAUNCHER в какой-либо деятельности.

Кроме того, оба метода будут извлекать один PackageInfo/ApplicationInfo для APK или, более конкретно, для имени пакета.

Ответ 2

Я думаю, что термин "Application" относится к "Startable by user" /Появляется на панели запуска. Это означает, что есть a) Пакеты, которые не выполняются напрямую (например: "Содержимое DRM", "Настройка партнера Google" или "Обновление рынка" на моем sgs2). b) Пакеты, которые предоставляют несколько Application. Да, вы правильно это поняли. Один пакет может иметь несколько приложений - две записи запуска с иконками. Это возможно, если вы отметите два или более Деяний в вашем manifest.xml как android.intent.category.LAUNCHER.