8

我正在尝试在我的应用程序中实现应用程序链接。当我打开应用程序时,我有一个带有登录按钮的登录屏幕。按下此登录按钮时,将进入浏览器进行 Web 登录,然后将其重定向到应用程序。我希望我此时直接打开应用程序,但深度链接会显示一个对话框。

json 文件是正确的https://my_domain/.well-known/assetlinks.json,它Content-Type位于application/json.

我的清单文件包含应用链接所需的一切:

 <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:host="myhost"
      android:pathPrefix="/auth"
      android:scheme="https" />
    <data android:scheme="http"/>

在日志中的 Android Studio 中,我得到 SingleHostAsyncVerifier

Verification result: checking for a statement with source b <
  a: "https://host.de"
>
, relation delegate_permission/common.handle_all_urls, and target a <
  a <
    a: "BE:32:...:17"
  >
  b: "my_app_package"
>
 --> false.

IntentFilterVerifier日志:

 Verification 172 complete. Success:false. Failed hosts:my_host.

结果adb shell dumpsys package d是:

Package: my_app_package
Domains: my_domain
Status:  ask

我无法验证https://digitalassetlinks.googleapis.com/v1/statements:list?source.web.site=https://web-site&relation=delegate_permission/common.handle_all_urls,因为我的网站不是公开的,它不是生产链接,因此我得到Timeout Error了。这可能是问题吗?

4

1 回答 1

0

你检查过类似的问题吗?https://stackoverflow.com/a/41945666/5093606也许您的测试环境中的 SSL 证书无效?

于 2019-05-19T16:19:01.277 回答