安卓光束 : share a in-app link with fallback to web version

标签 android nfc ndef nfc-p2p android-beam

有没有一种方法可以这样构造一个NdefMessage:

  • 如果接收方设备上安装了我的应用程序,请打开其中的链接(例如,使用自定义 URI 方案)
  • 如果我的应用程序安装,请打开默认网络浏览器,其中包含指向移动网站上同一页面的链接

我让它们分开工作,但是当我将两个 NdefRecord 放入一个 NdefMessage 并将其设置为通过 Android Beam 推送时,接收设备会显示一个包含这两个的选择器记录。您可以单击其中一个,它会将您带到相应的应用程序(我的应用程序或 Chrome)。有没有办法绕过这个选择器并让它自动启动第一个支持的链接?

最佳答案

不,没有。

但是这里有两个解决方法:

  1. Android 支持所谓的 ApplicationRecords,它指向某个特定的包。如果未安装,Android 将打开 Play 商店以安装该应用。
  2. 只需通过 beam 推送 http://uri,让您的应用也解析此 uri。第一次“打开”链接时,您将获得选择器,要求您在浏览器和您的应用程序之间进行选择。

关于安卓光束 : share a in-app link with fallback to web version,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21986887/

相关文章:

java - Android Rest 客户端 - JSON 响应中的连字符名称

android - 在 Android 上清除 MifareClassic 扇区的最佳方法是什么?

android - 如何通过IsoDep技术提取数据-NFC(Android)

android - 如何将 NFC 标签上的 AAR 重定向到新的应用程序 ID?

android - 在不同设备上运行 NFC 应用会导致解析 EXTRA_NDEF_MESSAGE 不一致

android - SwipeRefreshLayout 触摸 View 末尾时刷新

android - 使用Intent打开系统应用程序

android - 在 Android 中的切换按钮中的轨道上写入文本

java - NFC 编写器的 Android 代码

android - 无法格式化 NdefFormatable NFC 标签