Android — Почему Whatsapp не отображается как приложение, установленное пользователем?

#android #android-package-managers

#Android #android-package-managers

Вопрос:

Я пытаюсь провести различие между системными приложениями и приложениями, установленными пользователем, с помощью следующего фрагмента кода:

 public void getInstalledApps() {
    int flags = PackageManager.GET_META_DATA |
            PackageManager.GET_SHARED_LIBRARY_FILES |
            PackageManager.GET_UNINSTALLED_PACKAGES;
    PackageManager pm = context.getPackageManager();
    List<ApplicationInfo> applications = pm.getInstalledApplications(flags);

    for(ApplicationInfo appInfo : applications) {
        if((appInfo.flags amp; ApplicationInfo.FLAG_SYSTEM) == 1) {
            // System application
            Log.i("TESTAPPSYSTEM", pm.getApplicationLabel(appInfo).toString());
        } else {
            // Installed by user
            Log.i("TESTAPPUSER",  pm.getApplicationLabel(appInfo).toString());
        }
    }
}
  

Но в консоли Android Studio я увидел, что:

 06-17 15:19:42.639  14822-14822/it.example.myapplication.app I/TESTAPPSYSTEM WhatsApp
  

В отличие от других приложений, установленных пользователем (например, Telegram), Whatsapp рассматривается как системное приложение, а не как приложение, установленное пользователем: почему?

Комментарии:

1. Был ли WhatsApp предварительно установлен на вашем устройстве?

2. Теперь я понимаю: Whatsapp был включен в последнее установленное мной ПЗУ. Я проверил функции ПЗУ, и Whatsapp был там. Но как я могу отличить установленные или включенные приложения, если они включены в ПЗУ?

3. Что вы имеете в виду? По определению, приложение, включенное в ПЗУ, является системным приложением

4. Я хочу иметь возможность закрывать запущенные установленные приложения (а не запущенные системные), и для этого мне нужно видеть Whatsapp как приложение, установленное пользователем.

Ответ №1:

Whatsapp предварительно установлен либо в вашей операционной системе Android от производителя, либо в ПЗУ, которое вы установили на свой телефон, вы не можете это изменить, однако, если у вас рутированный телефон, вы можете удалить WhatsApp, а затем установить его из Play Store, чтобы он был установлен как пользовательское приложение, а не как пользовательское приложение.системное приложение. Кроме того, существуют приложения, которые закрывают системные приложения, хотя, я полагаю, вам снова потребуется root-доступ для выполнения этой задачи.