Скрыть программную навигацию Android в TWA (пузырчатая пленка)

Я следовал этому руководству (https://developers.google.com/web/android/trusted-web-activity/quick-start), чтобы создать приложение TWA, но мне нужно скрыть панель мягкой навигации Android (а не Адресная строка).

Я нашел это (https://developer.android.com/training/system-ui/navigation), но не могу понять, где разместить метод onResume().

Раньше я ничего не делал в Android Studio, и я совершенно новичок в этом. Был бы очень признателен за помощь.

Спасибо

1 ответ

Решение

Обновить:

То, что вы имеете в виду, называется иммерсивным режимом на Android. Начиная с версии 1.4.0, Bubblewrap CLI оцениваетdisplayсвойство манифеста при инициализации приложения. Если значение равноfullscreen, он автоматически применяет иммерсивный режим к TWA. Обязательно установитеdisplay к fullscreen в вашем веб-манифесте.

Для существующих приложений обновите файл twa-manifest.json и добавить / обновить display приписывать fullscreen, затем запустите bubblewrap update а также bubblewrap build.

Альтернативный / ручной подход:

Также можно вручную обновить проект, созданный Bubblewrap, чтобы использовать полноэкранный / иммерсивный режим:

  1. редактировать app/build.gradleиспользовать последнюю версию android-browser-helper. Вdependencies раздел внизу файла должен выглядеть следующим образом:
dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.google.androidbrowserhelper:androidbrowserhelper:1.3.0'
}

Обратите внимание, что минимальная версия для androidbrowserhelper должна быть 1.3.0.

  1. редактировать app/src/main/AndroidManifest.xml и добавить новый meta-data тег с android:name атрибут установлен на android.support.customtabs.trusted.DISPLAY_MODE и android:value атрибут установлен на immersive использовать иммерсивный режим внутри activity тег:
<activity android:name="com.google.androidbrowserhelper.trusted.LauncherActivity"
    android:label="@string/launcherName">

    ...

    <meta-data android:name="android.support.customtabs.trusted.FALLBACK_STRATEGY"
        android:value="@string/fallbackType" />

    <meta-data android:name="android.support.customtabs.trusted.DISPLAY_MODE"
    android:value="immersive"/>

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

    ...
</activity>

Теперь при запуске bubblewrap build, приложение будет использовать дополнительный метатег и запустится в полноэкранном / иммерсивном режиме.

Другие вопросы по тегам