js判断app是否安装_安卓判断是否安装了某app

hacker|
106

文章目录:

Web页面怎样判定app是否安装

 html中其实是无法判断应用是否安装,除非在webview中通过js bridge,这里通过一种方式达到此目的。

1、编辑AndroidManifest.xml:

主要是增加第二个intent-filter,myapp用来标识schema,最好能保证手机系统唯一,那样就可以打开应用,而不是弹出一个选择框。

android:pathPrefix标识url的path,可以附带自己的数据通过string传递到activity,比如完整url为 myapp://xxx/openwith?data=mydata

activity

android:name="com.abc.MainActivity"

android:configChanges="orientation|keyboardHidden|navigation|screenSize"

android:screenOrientation="landscape"

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

intent-filter

action android:name="android.intent.action.MAIN" /

category android:name="android.intent.category.LAUNCHER" /

/intent-filter

intent-filter

action android:name="android.intent.action.VIEW" /

category android:name="android.intent.category.BROWSABLE" /

category android:name="android.intent.category.DEFAULT"/

data android:scheme="myapp" android:pathPrefix="/xxx/openwith" /

/intent-filter

/activity

然后通过activity获得data数据:

public void onCreate(Bundle savedInstanceState) {

Uri uridata = this.getIntent().getData();

String mydata = uridata.getQueryParameter("data");

...

}

2、编写html页面:

整个页面也许是某个app的详细介绍,这里只写出关键的js代码:

function openApp() {

if (/android/i.test(navigator.userAgent)) {

var isrefresh = getUrlParam('refresh'); // 获得refresh参数

if(isrefresh == 1) {

return

}

window.location.href = 'myapp://xxx/openwith?data=mydata';

window.setTimeout(function () {

window.location.href += 'refresh=1' // 附加一个特殊参数,用来标识这次刷新不要再调用myapp:// 了

}, 500);

}

}

上面代码可以达到这样一个目的,先请求 myapp:// ,如果系统能处理,或者说已经安装了myapp表示的应用,那么就可以打开,另外,如果不能打开,直接刷新一下当前页面,等于是重置location。

前端js 怎么判断用户是否安装了某APP,安装了不直接打开这个应用而是进行其他操作

判断当前页面是否在app内部打开,单纯的web前端还不能解决

需要客户端对userAgent添加自己app相关的字段

(useragent设置Android:)

(useragent设置IOS:)

var userAgent = navigator.userAgent.toLowerCase(), //获取userAgent

isInapp = userAgent.indexOf("sunyuki")=0;//查询是否有相关app的相关字段

希望对你有帮助!

如何使用JS判断是否安装了某个应用

1,判断是否安装某app

这个问题只能是APP才有可能做到,代码与网页端无关

2,JS调用Andorid/IOS的接口

这个问题需要两端配合,移动APP端书写调用接口及调用规则,JS按照语法调用即可

3条大神的评论

  • avatar
    访客 2022-07-16 上午 03:27:40

    要再调用myapp:// 了}, 500);}}上面代码可以达到这样一个目的,先请求 myapp:// ,如果系统能处理,或者说已经安装了myapp表示的应用,那么就可以打开,另外,如果不能打开,直接刷新一下当前页面,等于是重置location。前端js 怎么判断用户是否安装了某APP,安装

  • avatar
    访客 2022-07-16 下午 12:05:37

    安装某app这个问题只能是APP才有可能做到,代码与网页端无关2,JS调用Andorid/IOS的接口这个问题需要两端配合,移动APP端书写调用接口及调用规则,JS按照语法调用即可

  • avatar
    访客 2022-07-16 上午 10:28:30

    "android.intent.action.MAIN" /category android:name="android.intent.category.LAUNCHER" //intent-filterintent-filteraction android:name="android.inten

发表评论