接着上篇文章說一下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 ); } ); } }