首页 > 解决方案 > 在 TWA 中隐藏 Android 软导航(Bubblewrap)

问题描述

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

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

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

谢谢

标签: androidprogressive-web-appstrusted-web-activitytwabubblewrap

解决方案


更新:

您所指的是Android上的沉浸式模式。从版本 1.4.0 开始,Bubblewrap CLIdisplay在初始化应用程序时评估清单的属性。如果值为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_MODEandroid: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,应用程序将使用额外的元标记并以全屏/沉浸式模式启动。


推荐阅读