如何隐藏 PWA Android 应用中的 URL 栏?
2019-06-05
5009
我按照所有步骤将我的 PWA 转换为 Android 应用,但无法显示 URL 栏
我已经构建了我的 PWA 我已经使用 Lighthouse 进行了检查,得分为 +90 我已经将其设为原生应用 我已经获得了 SHA256 应用签名证书 我已经使用数字资产链接工具检查了我的 assetlinks.json。 我已经在 Google Play 上发布了
但我的应用顶部仍然有 URL 栏
assetlinks.json
[{
"relation": ["delegate_permission/common.handle_all_urls"],
"target" : { "namespace": "android_app", "package_name": "org.mysite.mysite",
"sha256_cert_fingerprints": ["..."] }
}]
AndroidManifest.xml
apply plugin: 'com.android.application'
def twaManifest = [
applicationId: 'org.mysite.mysite',
hostName: 'www.mysite.org', // The domain being opened in the TWA.
launchUrl: '/', // The start path for the TWA. Must be relative to the domain.
name: 'MySite', // The name shown on the Android Launcher.
themeColor: '#000000', // The color used for the status bar.
backgroundColor: '#e6086e' // The color used for the splash screen background.
]
android {
compileSdkVersion 28
defaultConfig {
applicationId twaManifest.applicationId
minSdkVersion 16
targetSdkVersion 28
versionCode 19
versionName "1.19"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
// The name for the application on the Android Launcher
resValue "string", "appName", twaManifest.name
// The URL that will be used when launching the TWA from the Android Launcher
resValue "string", "launchUrl", "https://" + twaManifest.hostName + twaManifest.launchUrl
// The hostname is used when building the intent-filter, so the TWA is able to
// handle Intents to open https://svgomg.firebaseapp.com.
resValue "string", "hostName", twaManifest.hostName
// This variable below expresses the relationship between the app and the site,
// as documented in the TWA documentation at
// https://developers.google.com/web/updates/2017/10/using-twa#set_up_digital_asset_links_in_an_android_app
// and is injected into the AndroidManifest.xml
resValue "string", "assetStatements",
'[{ \\"relation\\": [\\"delegate_permission/common.handle_all_urls\\"],' +
'\\"target\\": {\\"namespace\\": \\"web\\", \\"site\\": \\"https://' +
twaManifest.hostName + '\\"}}]'
// This attribute sets the status bar color for the TWA. It can be either set here or in
// `res/values/colors.xml`. Setting in both places is an error and the app will not
// compile. If not set, the status bar color defaults to #FFFFFF - white.
resValue "color", "colorPrimary", twaManifest.themeColor
// Sets the color for the background used for the splash screen when launching the
// Trusted Web Activity.
resValue "color", "backgroundColor", twaManifest.backgroundColor
// Defines a provider authority fot the Splash Screen
resValue "string", "providerAuthority", twaManifest.applicationId + '.fileprovider'
}
buildTypes {
release {
minifyEnabled false
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.github.GoogleChrome.custom-tabs- client:customtabs:d08e93fce3'
}
2个回答
要隐藏地址栏并全屏查看您的 PWA,您需要在 PWA 的 manifest.json 文件中添加
"display": "standalone"
属性。
nadunc
2019-06-05
嘿,我假设如果你在 Play 商店中使用它,它一定是被包装在一个骨架 Android 应用程序中?这些被称为 TWA 或受信任的 Web 应用程序。你可以尝试隐藏状态栏
<style>
<item name="android:windowActionBar">false</item>
</style>
如果这不起作用,请尝试
Thomas Mcdonnell
2019-08-20