我正在尝试创建一个可以通过电子邮件发送的链接,当在安装了我的应用程序的
Android设备上打开时,我的应用程序将自动打开正确的页面.
我已经以几种不同的方式部分工作,但发现了一些问题,我想知道是否有人有解决方案.
尝试1:使用自定义方案:myapp:// someItem.这是有效的,但一些电子邮件应用程序不将其视为链接,因为它不是http.有没有办法强制应用程序将其视为有效的链接? gmail为例.
尝试2:使用与主机的HTTP链接:http://com.myapp/someItem.这也是有效的,但我的应用程序最后注册处理所有不是理想的http链接.
尝试3:使用与主机和端口的http链接:http://com.myapp:2345/someItem.这是我目前的解决方案,唯一的缺点是当链接被打开时,它仍然可以选择在浏览器中打开链接.有没有办法阻止浏览器尝试打开我的链接?
解决方法
这种技术实际上似乎在Android上可以从我可以看出来:
http://mobile.dzone.com/news/custom-url-schemes-phonegap
我还没有在一个真实的制作应用程序中尝试过,所以你的里程可能会有所不同.我所做的是使用创建隐藏iframe的方法,并尝试将位置设置为自定义url方案,并从该文档的onload调用该函数.到目前为止,我已经看到(我只在2.2和2.3设备上测试过),就是说如果我安装了一个应用程序来处理自定义方案的应用程序,如果不是该页面将会呈现.
相对清理单个URL来覆盖这两种情况,并且不会破坏像Twitter的URL这样的东西.如果请求来自可能支持应用程序的平台的某些平台,以减少不兼容的桌面行为的风险,真正的生产版本可能只会执行隐藏的iframe探测.