我正在尝试使用 App Links 从 URL 启动 Flutter 制作的 Android 应用程序。 我尝试了以下操作,但应用程序未打开,仅打开网页。我尝试直接在搜索字段中输入网址,然后从带有标签的按钮跳转,但结果是一样的。
<example.com>
更改为我的自定义域) <meta-data android:name="flutter_deeplinking_enabled" android:value="true" />
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" android:host="<example.com>" />
<data android:scheme="https" />
</intent-filter>
$ keytool -list -v -keystore android/app/key.jks
/.well-known 中的 <My SHA256>
)[
{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.example.app1",
"sha256_cert_fingerprints":
["<My SHA256>"]
}
}
]
1.确保在 assetlinks.json 文件中声明调试和发布 sha256 密钥。这是一件重要的事情,因为应用程序可以在调试或发布模式下工作,而这两个密钥都需要被识别
[
{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.example.app1",
"sha256_cert_fingerprints": [
"<debug key>",
"<release key>"
]
}
}
]
2.不应将http和https组合在同一个意图过滤器中,而应该将它们分开。
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" />
<data android:host="example.com" />
</intent-filter>
<intent-filter android:autoVerify="true">
<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" />
<data android:host="example.com" />
</intent-filter>
完成这些更改后,尝试从该网址再次启动应用程序