Как убрать значок запуска в android 10 (Q) - PullRequest
4 голосов
/ 08 января 2020

До API 29 мы можем удалить значок запуска в устройстве, удалив

<intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

в файле манифеста.

Как указано здесь

По состоянию на Android Q, хотя бы одно из действий или синтезированных действий приложения появляется в возвращенном списке, если приложение не удовлетворяет хотя бы одному из следующих условий:

  • Приложение является системным приложением.

  • Приложение не запрашивает никаких разрешений.

  • Приложение не имеет активности запуска, которая включена по умолчанию. Активность запуска имеет намерение, содержащее действие ACTION_MAIN и категорию CATEGORY_LAUNCHER.

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

    Если устройство является полностью управляемым устройством, в возвращенном списке не отображаются синтезированные действия для какого-либо приложения. Если текущий пользователь имеет рабочий профиль, в возвращаемом списке не отображаются синтезированные действия для рабочих приложений пользователя.

Третье условие означает, что не иметь активация запуска, которая включена.

Как этого добиться в android 10?

1 Ответ

0 голосов
/ 05 мая 2020

Я считаю, что третье условие неверно или устарело.

Поведение текущего образа эмулятора Google Android 10 (API Google Intel x86 System Image 29_r09) отличается от документации:

getActivityList () всегда возвращает хотя бы одно действие, кроме случаев, когда приложение удовлетворяет хотя бы одному:

  • системное приложение * тег 1010 *
  • полностью пусто, т. е. нет действий, служб, ... объявлено
  • нет разрешений объявлено

Это поведение соответствует заметкам о выпуске от Android Q Beta:

Видимость иконки панели запуска

В Android Q Beta 2 пакеты, которые не объявляют никаких разрешений в соответствующих файлах манифеста, скрыты из панели Все приложения, как и следующие типы приложений:

  • Системные приложения
  • Приложения, которые не содержат компонентов внутри тега соответствующего манифеста
...