我正在尝试制作一个NFC标签,执行所有必要的安装并启动我的应用程序。基本上,我们的想法是让您的设备开箱即用,触摸您的手机,它会引导您完成安装和运行它的所有步骤。然后,在将来的任何时候,您只需触摸NFC标签即可。
在标签上,我想:
如果我们的应用程序已安装,这很有效,因为我们收到NDEF意图,解析蓝牙并配对远程设备。
如果我们的应用程序没有安装,我想浏览器打开我们的网站,以便您可以下载该应用程序。不幸的是,AAR NDEF记录的存在反而将用户发送到Google Play商店。出于商业原因,我们现在不想将我们的应用程序放到游戏商店。
是否有办法在标签上设置AAR或同等记录,如果已安装,则将意图定向到我们的应用,但如果未安装,则不会重定向到应用商店?
如果失败了,是否存在多个AAR记录的解决方案,当我们的应用未安装时,这些记录可以回退到浏览器?
答案 0 :(得分:2)
我们仍在寻找更好的答案,但这是迄今为止我们提出的最好的答案。
我们的标签现在包含:
基本上,如果我们的应用程序已安装,我们的应用程序会捕获意图,否则我们会尝试几个标准的浏览器程序包名称作为后备来捕获uri。我们有一个相当大的NFC标签,所以我们可以在android上列出所有标准的浏览器包名称。
到目前为止,它适用于来自4个不同制造商的8部手机。如果有人有完整的浏览器列表,我们将不胜感激。它显然不理想,但它可能适用于您可以控制购买哪些手机的企业场景。
答案 1 :(得分:0)
尝试以下方法:
删除所有AAR记录并在应用的清单中创建一个intent-filter,以准确过滤特定的URI。然后,如果您的应用程序已安装,它将始终收到意图,否则无论手机上安装的任何应用程序/浏览器处理通用http / https都将打开下载页面。
请查看我之前的答案,演示如何创建自定义URI / MimeType过滤器:https://stackoverflow.com/a/27397938/3312868
编辑:及时,如果您在Play商店发布应用,则可以更改下载网址以重定向到Play商店。