lam
lam
  • 发布:2016-12-22 18:20
  • 更新:2016-12-23 23:24
  • 阅读:1371

app打开另一个app

分类:Native.js

两个平台ios,android,怎样实现在app中打开另一个app,首先要判断是否存在要打开的app,如果存在则打开,不存在则弹出下载页面。如何实现??

2016-12-22 18:20 负责人:无 分享
已邀请:
赵梦欢

赵梦欢 - 专注前端,乐于分享!

Android平台通过UrlSchemes与第三方应用相互调用

iOS平台通过UrlSchemes与第三方应用相互调用

判断本地是否安装客户端的方法:

var isInstalled = function (id) {  
    if (id === 'qihoo' && mui.os.plus) {  
        return true;  
    }  
    if (mui.os.android) {  
        var main = plus.android.runtimeMainActivity();  
        var packageManager = main.getPackageManager();  
        var PackageManager = plus.android.importClass(packageManager)  
        var packageName = {  
            "qq": "com.tencent.mobileqq",  
            "weixin": "com.tencent.mm",  
            "sinaweibo": "com.sina.weibo"  
        }  
        try {  
            return packageManager.getPackageInfo(packageName[id], PackageManager.GET_ACTIVITIES);  
        } catch (e) {}  
    } else {  
        switch (id) {  
            case "qq":  
                var TencentOAuth = plus.ios.import("TencentOAuth");  
                return TencentOAuth.iphoneQQInstalled();  
            case "weixin":  
                var WXApi = plus.ios.import("WXApi");  
                return WXApi.isWXAppInstalled()  
            case "sinaweibo":  
                var SinaAPI = plus.ios.import("WeiboSDK");  
                return SinaAPI.isWeiboAppInstalled()  
            default:  
                break;  
        }  
    }  
}
  • lam (作者)

    此方法会判断所打开的app是否已安装吗?

    2016-12-23 12:42

  • 赵梦欢

    回复 lam: 不能,判读应用是否安装可以使用包管理器处理。

    2016-12-23 23:22

  • lam (作者)

    为何我配置了,还是没效果。

    {

    "urlidentifier":"**.***.fmall",

    "urlschemes":["fmall"]

    }

    使用hbuilder打的越获包装不上是什么情况?

    能用这种方法打开吗?plus.runtime.launchApplication({action:"fmall://"})

    2016-12-28 11:17

该问题目前已经被锁定, 无法添加新回复