接着上篇文章说一下js调取第三方地图的问题,上次的方式是通过一个链接直接接到了第三方的web页面,又从第三方的web页面调用的第三方app;结果,这个方法被否定了,因为需求不是这样,需求直接就想调用第三方的app.
因为项目是基于mui框架写的,而MUI自身又封装了调用第三方app的方法。所以,在官方文档中的runtime的模块中写了如何调用。
先来简单介绍一下Runtime模块。Runtime模块管理运行环境,可用来获取当前运行环境的信息、与其他程序进行通讯等。一般用plus.runtime可获取运行环境管理对象。
属性:
- version: 获取客户端的版本号
- innerVersion: 获取客户端运行时环境的版本号
- arguments: 获取第三方程序调用时传递给程序的参数
- appid: 获取当前应用的APPID
方法:
- getProperty: 获取指定APPID对应的应用信息
- install: 安装应用
- quit: 退出客户端程序
- restart: 重启当前的应用
- setBadgeNumber: 设置程序快捷方式上显示的提示数字
- openURL: 调用第三方程序打开指定的URL
- openFile: 调用第三方程序打开指定的文件
- launchApplication: 调用第三方程序
红色的方法可以直接调用第三方app。不过我们需要知道我们调用的第三方app的包名,因为在Android系统会用到app的包名,而在IOS系统中,就不会用到。直接看一下代码吧
// 调用第三方程序
function launchTest() {
if ( plus.os.name == "Android" ) {
plus.runtime.launchApplication( {pname:"第三方app包名"
,extra:{url:"第三方提供的uri"}}, function ( e ) {
alert( "Open system default browser failed: " + e.message );
} );
} else if ( plus.os.name == "iOS" ) {
plus.runtime.launchApplication( {action:"第三方提供的uri"}, function ( e ) {
alert( "Open system default browser failed: " + e.message );
} );
}
}