在 TWA 中隐藏 Android 软导航 (Bubblewrap)

Hide Android Soft Navigation in TWA (Bubblewrap)

我已经按照本指南 (https://developers.google.com/web/android/trusted-web-activity/quick-start) 构建了一个 TWA 应用程序,但我需要隐藏 android 软导航栏(而不是 URL 栏)。

我找到了这个 (https://developer.android.com/training/system-ui/navigation) 但不知道将 onResume() 方法放在哪里。

我以前没有在 Android Studio 中做过任何东西,我对此完全陌生。非常感谢您的帮助。

谢谢

更新:

您指的是 Android 上的 Immersive Mode。 从版本 1.4.0 开始,Bubblewrap CLI 在初始化应用程序时评估清单的 display 属性。如果值为 fullscreen,它会自动将沉浸模式应用到您的 TWA。确保在您的网络清单中将 display 设置为 fullscreen

对于现有应用程序,将文件 twa-manifest.json 和 add/update 的 display 属性更新为 fullscreen,然后 运行 bubblewrap updatebubblewrap 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_MODEandroid:value 属性设置为 immersiveactivity 标签内使用沉浸模式:
<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>

现在,当 运行ning bubblewrap build 时,应用程序将使用额外的元标记并以全屏/沉浸模式启动。