在遵循有关TWA的Using Trusted Web Activities页面并隐藏URL栏之后,我已按照所有说明来隐藏URL栏,但令人惊讶的是它没有被隐藏。

我该如何解决?

这是我的assetlinks.json文件:

[{
  "relation": ["delegate_permission/common.handle_all_urls"],
  "target": {
    "namespace": "android_app",
    "package_name": "org.foodeye.mobile",
    "sha256_cert_fingerprints":
    ["BA:D3:3B:41:7C:1E:7B:DC:0F:FE:70:EB:33:5D:F1:A0:40:3B:09:73:A0:5D:42:80:45:DA:CB:DA:0F:9D:5A:D3"]
  }
}]

这是assetlinks.json网址:https://foodeye.org/.well-known/assetlinks.json

这是 list :
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.foodeye.mobile">

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <meta-data
        android:name="asset_statements"
        android:value="@string/asset_statements" />

    <activity android:name="android.support.customtabs.trusted.LauncherActivity"
        android:label="${launcherName}">
        <meta-data android:name="android.support.customtabs.trusted.DEFAULT_URL"
            android:value="${defaultUrl}" />

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

        <intent-filter>
            <action android:name="android.intent.action.VIEW"/>
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE"/>
            <data android:scheme="https"
                android:host="${hostName}"/>
        </intent-filter>
    </activity>
</application>

这是应用程序的build.gradle:
apply plugin: 'com.android.application'

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    compileSdkVersion 28
    defaultConfig {
        applicationId "org.foodeye.mobile"
        minSdkVersion 19
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        manifestPlaceholders = [
                hostName: "app.foodeye.org",
                defaultUrl: "https://app.foodeye.org",
                launcherName: "Food Eye",
                assetStatements: '[{ "relation": ["delegate_permission/common.handle_all_urls"], ' +
                        '"target": {"namespace": "web", "site": "https://app.foodeye.org"}}]'
        ]
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:28.0.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation 'com.github.GoogleChrome.custom-tabs-client:customtabs:d08e93fce3'

}

这是strings.xml:
<resources>
<string name="app_name">Food Eye</string>
<string name="asset_statements">
    [{
        \"relation\": [\"delegate_permission/common.handle_all_urls\"],
        \"target\": {
            \"namespace\": \"web\",
            \"site\": \"https://app.foodeye.org\"}
    }]
</string>

提前致谢。

最佳答案

您在TWA中打开的URL似乎是https://app.foodeye.org,但是 Assets 链接托管在https://foodeye.org/.well-known/assetlinks.json上,这是一个不同的来源。

您需要将 Assets 链接文件托管在与在TWA中打开的URL相同的来源。 https://app.foodeye.org/.well-known/assetlinks.json

关于android - 在“受信任的Web Activity ”中,地址栏未隐藏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57233555/

10-10 09:57