在 Android 上的二维码中打开我的应用程序以获取 URI(而非 URL)?

问题描述 投票:0回答:0

我想在 QR 码中编码 URI,并能够使用 Android 的默认相机应用程序扫描此代码以打开我的应用程序的 Activity。具体来说,我想打开一个根据 RFC 7565 格式化的 URI - 但我无法让它适用于任何不是 http(s) URL 的 URI,包括“geo:”或任何带有其方案的随机字符串。

我怀疑这可能与 Android 的 URI 在第一个冒号之后期望“//”有关,尽管字符串不是有效 URI 所必需的——但我不确定。

我为我的应用程序的一个活动声明了一个意图过滤器,如下所示:

<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="acct" />
</intent-filter>

接下来,我使用不同的在线 QR 代码生成器以及我的应用程序本身的 ZXing 库,从该方案开始为 URI 字符串创建了 QR 代码。在所有情况下,扫描二维码都会导致字符串在相机应用程序中正确显示,标签为“Go to”(表明它被正确解释为某种 URI),但点击该按钮只会将字符串复制到剪贴板而不是打开我的应用程序。

我尝试将

android:host="*"
或什至其他字符串添加到 intent-filter,以及路径字符串(这首先不是有效帐户 URI 的一部分),但这些都没有改变任何东西。

android uri qr-code intentfilter
© www.soinside.com 2019 - 2024. All rights reserved.