当前位置: 首页 > 知识库问答 >
问题:

应用程序链接AssetLinks.json中的意图过滤器在Android上不起作用

盖泽宇
2023-03-14

我的应用程序定义了意图过滤器来处理来自我的站点的URL

<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="www.host.com" android:scheme="http"/>
</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:host="www.host.com" android:scheme="https"/>
</intent-filter>

应用程序正确地检测正确主机的URL,但询问用户是否在应用程序或浏览器中打开它们。我尝试使用下面指定的应用程序链接验证:https://developer.android.com/training/app-links/index.html

如我的服务器日志所示,当安装应用程序时,设备查询/wann-knowled/assetlinks.json,并以200状态响应。使用

keytool -list -v -keystore my-release-key.keystore 

与应用程序签名的。Keystore相同。

运行ADB shell dumpsys包d返回链接验证状态为“ask”,这意味着验证失败。为什么验证会失败?

共有1个答案

戎俊
2023-03-14

对我们来说,这是Windows行结束!

使用“https://digitalassetlinks.googlepis.com/v1/statements:list?source.web.site=https://domain1:port&relation=delegate_permission/common.handle_all_urls”进行测试证明是非常有价值的,因为它给出了一个“不能解析语句列表(not valid JSON)”错误,从而导致了这个问题。

提示:在Android Studio应用链接助手中使用“保存文件”按钮是很好的,而不是像我们一样复制和粘贴--这样它会自己生成文件,并保证不会出现这个问题。

 类似资料:
  • 我遵循了https://developer.android.com/training/app-indexing/deep-linking.html上的insttructions,但当我想通过触发意图时: 我只是得到 我犯了什么明显的错误吗?

  • 演示网站:http://recipe-app.com/recipe/grilled-potato-salad演示应用:http://search-codelabs.appspot.com/codelabs/android-deep-linking 我的测试: 我已经从上面的链接安装了演示应用程序。我用谷歌搜索应用程序搜索了“烤土豆沙拉”,结果发现http://recipe-app.com/reci

  • 对于某些活动的意图是有效的,对于某些特定的活动意图是崩溃的,我已经改变并尝试了不同的方法,但是对于某些活动意图是无效的,应用程序正在构建,但是在手机上运行之后,它在调试期间没有显示出任何错误?我尝试了不同的方法,但它仍然崩溃,谁能帮助我解决它? MainActivity java 清单文件

  • 这是我的密码。这很简单,但当我点击按钮“button1”时,什么都没有发生。我做错了什么? 第二个-- 第三个-- 布局-- 新Logcat:11-29 12:15:39.552:D/gralloc_goldfish(613):检测到没有GPU仿真的模拟器。11-29 12:15:40.062:I/编舞(613):跳过51帧!应用程序可能在其主线程上做了太多工作。11-29 12:16:08.90

  • 我在我的应用程序中启用了应用链接。它工作正常。但是在我的应用程序中,有一些情况下我无法处理传入的网址。在这种情况下,我想将该网址重定向到设备中的默认浏览器。 目前,我尝试使用intent打开带有url的浏览器,但它再次重定向到我的应用程序本身。应用程序链接的格式如下- 所以根据params,我想要么在应用程序本身中处理应用程序链接,要么将其重定向到默认浏览器。下面是我试图用上面的网址打开浏览器的代

  • 由于AndroidAnnotations,名称是“.mainActivity_”,而不是“mainActivity”。 除此之外,托管的AssetLinks.json可以通过HTTPS连接访问,下面是我的文件: SHA256指纹来自我用来构建应用程序发布版本的证书。