请问,如何安卓跟IOS 分别如何判断 手机上是否安装 某个app 比如百度地图?
超级赛亚人
- 发布:2016-01-06 14:08
- 更新:2016-07-25 18:16
- 阅读:18825
iOS:
可以使用NJS实现,首先到百度云平台查询URL Types,然后调用canOpenURL测试
var UIApplication = plus.ios.importClass("UIApplication");
var NSURL = plus.ios.importClass("NSURL");
var app = UIApplication.sharedApplication();
var bdScheme = NSURL.URLWithString("baidumap://");
var install = app.canOpenURL(bdScheme);
plus.ios.deleteObject(bdScheme);
plus.ios.deleteObject(app);
安卓:
try {
var packageName = '';//百度地图的包名
var main = plus.android.runtimeMainActivity();
var packageManager = main.getPackageManager();
var PackageManager = plus.android.importClass(packageManager);
var packageInfo = packageManager.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES);
if (packageInfo) {
//已安装
} else {
//未安装
}
} catch (e) {
//未安装
}
- 如果需要判断的应用程序可能有很多种,比如生活类-携程,又或者是游戏类-中国象棋,等等,那么
var bdScheme = NSURL.URLWithString("baidumap://"); 中的string应该填什么?又怎么才能知道要检测应用对应的string呢?
2.如何检测应用的运行时间?
q_q
用这个代码,无论是否安装install都是一串数字,怎么判断啊?
2016-12-30 11:36
2***@qq.com
我也是这个问题,求解答呀
2017-03-03 11:56
DCloud_IOS_XTY
升级到最新版本试试
2017-03-03 17:23
4***@qq.com
没效果呢,一直是未安装
2017-07-05 11:08
一个大老鼠
你好,我使用这段代码遇到了一个问题,本地调试的时候一切正常,可以争取判断百度、高德地图是否安装,但是一到云打包就判断不了是否安装了
2018-08-26 16:41
一个大老鼠
回复 一个大老鼠: 经过确认原因是因为 应用权限的原因,需要在 mainfest 中配置权限
2018-08-31 13:40
不是就说
回复 一个大老鼠:请问是什么权限问题啊?我添加了白名单还是判断不了啊(:з」∠)
2019-02-28 16:48
旧时光
回复 不是就说: 请问怎么加白名单
2020-01-16 18:40