我有一个网页,我想使用intent-filter检测我的Android应用程序(在后台),所以我的应用程序和我的页面分别完成他们的工作。
我的Android应用程序使用intent-filter处理类似URL的URL:
myApp://sample?param=1
所以我的页面中有一个<a>
标记,我使用JavaScript(自动)点击它:
<a href="myApp://sample?param=1" id="myAppLink"></a>
当我没有安装我的应用程序时(例如在PC或iOS中),一切正常。
在这种情况下,浏览器会重定向到myApp://sample?param=1
(自然地)。
有没有办法(我认为在JavaScript中)可以检测到应用程序是否未处理我的网址然后我停止自动点击?或者其他方式(当然是技巧)知道是否安装了App然后我调用click事件?或者我的问题的其他一些解决方法?
或者我可以使用AJAX或JSONP调用我的URL(myApp://sample?param=1
),以便我的应用程序检测到它吗?
(我没有机会尝试使用jQuery Ajax。我不知道intent-filter是否可以处理Ajax请求。)
答案 0 :(得分:0)
很遗憾,由于隐私问题,您无法在网上查看设备上是否安装了任何应用程序。
查看类似的question。
答案 1 :(得分:0)
作为一种变通方法,您可以使用http://代替myApp://:
来识别指向服务器链接的意图<data android:host="yourhost.com" data android:path="/apath" android:scheme="http" />
for ...
<a href="http://yourhost.com/apath?param=1" id="myAppLink"></a>
如果您的应用程序存在,它将重定向到应用程序(用户需要第一次确认),如果没有,它将调用您托管页面的链接,该页面将正确回答桌面(使用PHP,java, nodejs,或其他什么)。