uexWidget

2018-10-09 11:14 更新

1、簡(jiǎn)介

管理當(dāng)前應(yīng)用

2、API概覽

2.1、方法

startWidget 加載一個(gè)widget

uexWidget.startWidget(appId,animiId,funName,info,animDuration)

說(shuō)明:
在當(dāng)前widget加載一個(gè)子widget
參數(shù):

參數(shù)名稱參數(shù)類型是否必選說(shuō)明
appIdString子widget的appId
animiIdString子widget載入時(shí)的動(dòng)畫(huà)id,詳見(jiàn)CONSTANT中WindowAnimiID
funNameString方法名,子widget結(jié)束時(shí)將String型的任意字符回調(diào)給該方法,可為空。 注意:只在主窗口中有效,浮動(dòng)窗口中無(wú)效
infoString傳給子widget的信息
animDurationString動(dòng)畫(huà)持續(xù)時(shí)長(zhǎng),單位為毫秒,默認(rèn)200毫秒

平臺(tái)支持:
Android 2.2+
iOS 6.0+

版本支持:
3.0.0+

示例:

  1. uexWidget.startWidget('12345','1','widgetDidFinish','open a widget',300)

finishWidget 退出一個(gè)widget

uexWidget.finishWidget(resultInfo,appId,isWgtBG)

說(shuō)明:
退出一個(gè)widget。

參數(shù):

參數(shù)名稱參數(shù)類型是否必選說(shuō)明
resultInfoString此widget結(jié)束時(shí),傳遞給opener的信息
appIdString要結(jié)束的widget的appId,為空時(shí)退出的是當(dāng)前的widget
isWgtBGNumber結(jié)束此widget的方式,0表示銷毀該widget,下次再調(diào) 用startWidget時(shí),重新打開(kāi);1表示把該widget置于后 臺(tái),下次再調(diào)用startWidget時(shí),不重新打開(kāi),操作數(shù)據(jù) 全部保存。不傳或?yàn)榭諘r(shí),默認(rèn)為0。注意傳該參數(shù)時(shí),必須要傳appId參數(shù)。

平臺(tái)支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:

  1. uexWidget.finishWidget("finish a widget","12345",0);

removeWidget 刪除一個(gè)widget

uexWidget.removeWidget(appId)
說(shuō)明:

刪除一個(gè)widget。

參數(shù):

參數(shù)名稱參數(shù)類型是否必選說(shuō)明
appIdStringwidget的appId,主widget不能被刪除。

平臺(tái)支持:

Android2.2+

iOS6.0+

版本支持:

3.0.0+

示例:

  1. uexWidget.removeWidget(“12345”);

checkUpdate 檢查更新

uexWidget.checkUpdate()

說(shuō)明:
檢查當(dāng)前widget是否有更新。
參數(shù):
無(wú)
平臺(tái)支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:

  1. uexWidget.checkUpdate();

loadApp 啟動(dòng)第三方應(yīng)用(iOS)

uexWidget.loadApp(appInfo)

說(shuō)明:

根據(jù)相關(guān)信息啟動(dòng)一個(gè)第三方應(yīng)用 。
假設(shè)應(yīng)用A中有進(jìn)行此UrlScheme配置,在另一個(gè)應(yīng)用B中,通過(guò)引擎的JS方法uexWidget.loadApp('scheme1:');即可打開(kāi)應(yīng)用A(注意不要漏掉冒號(hào)!)

參數(shù):

  1. appInfo:(String類型) 必選 第三方應(yīng)用的[URLSchemes](http://newdocx.appcan.cn/newdocx/docx?type=1505_1291#type=”URLSCHEME” urlScheme管理(僅iOS) "此屬性可以通過(guò)AppCan平臺(tái)生成的ipa包里的Info.plist文件中找到")

平臺(tái)支持:

iOS6.0+

版本支持:

3.0.0+

示例:

  1. var appInfo = "http://www.baidu.com";
  2. uexWidget.loadApp(appInfo);

startApp 啟動(dòng)第三方應(yīng)用(Android)

uexWidget.startApp(startMode,mainInfo,addInfo,optInfo,extra)
說(shuō)明:
根據(jù)相關(guān)信息啟動(dòng)一個(gè)第三方應(yīng)用。
參數(shù):

參數(shù)名稱參數(shù)類型是否必選說(shuō)明
startModeString啟動(dòng)方式,0表示通過(guò)包名和類名啟動(dòng),1表示通過(guò)Action啟動(dòng)。
optInfoString附加參數(shù),鍵值對(duì),{key:value}格式多個(gè)用英文”,”隔開(kāi),如:”{‘key1’:’value1’},{‘key2’:’value1’}”。

startMode為0

參數(shù)名稱參數(shù)類型是否必選說(shuō)明
mainInfoString包名
addInfoString類名,為空時(shí)啟動(dòng)應(yīng)用入口類
extraStringjson格式如下:
  1. {
  2. "data": "http://www.baidu.com",
  3. "isNewTask": "0"
  4. }

各字段含義如下:

參數(shù)是否必須說(shuō)明
datadata屬性
isNewTask啟動(dòng)第三方Activity時(shí),值為0,不使用NEW_TASK,值不為0,使用NEW_TASK,默認(rèn)使用NEW_TASK

startMode為1

參數(shù)名稱參數(shù)類型是否必選說(shuō)明
mainInfoStringaction
addInfoStringcategory或data,json格式如下:
  1. {
  2. "category": [
  3. "android.intent.category.WID",
  4. "android.intent.category.WID1"
  5. ],
  6. "data": {
  7. "mimeType": "image/png",
  8. "scheme": "sip"
  9. }
  10. }

各字段含義如下:

參數(shù)是否必須說(shuō)明
categorycategory屬性
datadata屬性
mineTypemineType屬性
schemescheme屬性

注意事項(xiàng):
如果通過(guò)包名類名啟動(dòng)AppCan應(yīng)用,而且需要監(jiān)聽(tīng)onLoadByOtherApp回調(diào)方法,則addInfo為必選。調(diào)用方法如下:
若包名為com.appcan.develop(開(kāi)發(fā)者在使用時(shí)只需要更換包名即可),則調(diào)用代碼如下:

  1. var packageName = "com.appcan.develop";
  2. var className = "org.zywx.wbpalmstar.engine.EBrowserActivity";
  3. var optInfo = "{'key1':'value1'},{'key2':'value1'}";
  4. uexWidget.startApp(0,packageName,className,optInfo);

平臺(tái)支持:
Android2.2+

版本支持:
3.0.0+

示例:
1.要啟動(dòng)的AndroidManifest.xml文件如下:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3. package="com.dongjf.mytest"//com.dongjf.mytest即為包名
  4. android:versionCode="1"
  5. android:versionName="1.0" >
  6. <uses-sdk
  7. android:minSdkVersion="11"
  8. android:targetSdkVersion="18" />
  9. <application
  10. android:allowBackup="true"
  11. android:label="@string/app_name"
  12. android:theme="@style/AppTheme" >
  13. <activity
  14. android:name="MainActivity"
  15. android:label="@string/app_name"
  16. android:icon="@drawable/icon1"
  17. android:windowSoftInputMode="stateHidden|adjustResize"
  18. >
  19. <intent-filter>
  20. <action android:name="android.intent.action.MAIN" ></action>
  21. <category android:name="android.intent.category.LAUNCHER" ></category>
  22. </intent-filter>
  23. <intent-filter>
  24. <action android:name="com.djf.test.main" ></action>
  25. <category android:name="android.intent.category.DEFAULT" ></category>
  26. </intent-filter>
  27. </activity>
  28. <activity android:name="com.dongjf.mytest.SecondActivity">
  29. //通過(guò)包名啟動(dòng),<intent-filter>標(biāo)簽非必須
  30. <intent-filter>
  31. <action android:name="com.djf.test.second" ></action>
  32. //通過(guò)action啟動(dòng)時(shí),category DEFAULT屬性必須,否則無(wú)法調(diào)起
  33. <category android:name="android.intent.category.DEFAULT" ></category>
  34. <data android:scheme="tel"></data>
  35. </intent-filter>
  36. </activity>
  37. <activity android:name="com.dongjf.mytest.ThirdActivity">
  38. <intent-filter>
  39. <action android:name="com.djf.test.second" ></action>
  40. <category android:name="android.intent.category.DEFAULT" ></category>
  41. <category android:name="android.intent.category.WID" ></category>
  42. <category android:name="android.intent.category.WID1" ></category>
  43. <data android:scheme="sip" android:mimeType="image/png"></data>
  44. </intent-filter>
  45. </activity>
  46. <activity android:name="com.dongjf.mytest.ForthActivity">
  47. <intent-filter>
  48. <action android:name="com.djf.test.second" ></action>
  49. <category android:name="android.intent.category.WID" ></category>
  50. <category android:name="android.intent.category.DEFAULT" ></category>
  51. <data android:mimeType="text/html"></data>
  52. </intent-filter>
  53. </activity>
  54. </application>
  55. </manifest>

2.啟動(dòng)該應(yīng)用對(duì)應(yīng)界面示例如下:

  1. <!DOCTYPE HTML>
  2. <HTML>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="target-densitydpi=device-dpi, width=device-width, initial-scale=1, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
  6. <style>
  7. input{
  8. margin:.4em;
  9. font-size: 1.2em !important;
  10. }
  11. input[type="text"]{
  12. color: black;
  13. }
  14. p{
  15. font-size: 14px !important;
  16. }
  17. </style>
  18. <script type="text/javascript">
  19. function startAppP(mode){
  20. var main,add,opt;
  21. main = "com.dongjf.mytest";
  22. switch(mode){
  23. case 0:
  24. uexWidget.startApp(0, main);//啟動(dòng)應(yīng)用的入口主類
  25. break;
  26. case 1:
  27. add = "com.dongjf.mytest.SecondActivity";
  28. uexWidget.startApp(0, main, add);//啟動(dòng)應(yīng)用的SecondActivity類
  29. break;
  30. case 2:
  31. add = "com.dongjf.mytest.ThirdActivity";
  32. opt = "{'key1': 'value1'},{'key2': 'value2'}";
  33. uexWidget.startApp(0, main, add, opt);//啟動(dòng)應(yīng)用的ThirdActivity類
  34. break;
  35. }
  36. }
  37. function startAppA(mode){
  38. var main,add,opt;
  39. switch(mode){
  40. case 0:
  41. main = "com.djf.test.main";
  42. uexWidget.startApp(1, main);//啟動(dòng)應(yīng)用的MainActivity類
  43. break;
  44. case 1:
  45. main = "com.djf.test.second";
  46. add = '{"data":{"scheme":"tel"}}';
  47. uexWidget.startApp(1, main, add);//啟動(dòng)應(yīng)用的SecondActivity類
  48. break;
  49. case 2:
  50. main = "com.djf.test.second";
  51. add = '{"data":{"mimeType":"text/html"}}';
  52. opt = "{'key1': 'value1'},{'key2': 'value2'}";
  53. uexWidget.startApp(1, main, add, opt);//啟動(dòng)應(yīng)用的ForthActivity類
  54. break;
  55. case 3:
  56. main = "com.djf.test.second";
  57. add = '{"data":{"mimeType":"image/png","scheme":"sip"}}';
  58. opt = "{'key1': 'value1'},{'key2': 'value2'}";
  59. uexWidget.startApp(1, main, add, opt);//啟動(dòng)應(yīng)用的ThirdActivity類
  60. break;
  61. case 4:
  62. main = "com.djf.test.second";
  63. add = '{"category":["android.intent.category.WID","android.intent.category.WID1"],"data":{"mimeType":"image/png","scheme":"sip"}}';
  64. uexWidget.startApp(1, main, add);//啟動(dòng)應(yīng)用的ThirdActivity類
  65. break;
  66. }
  67. }
  68. </script>
  69. </head>
  70. <body>
  71. <input class="btn" type="button" value="通過(guò)包名啟動(dòng)0" onclick=startAppP(0)>
  72. <input class="btn" type="button" value="通過(guò)包名啟動(dòng)1" onclick=startAppP(1)>
  73. <input class="btn" type="button" value="通過(guò)包名啟動(dòng)2" onclick=startAppP(2)>
  74. <br><br>
  75. <input class="btn" type="button" value="通過(guò)Action啟動(dòng)0" onclick=startAppA(0)>
  76. <input class="btn" type="button" value="通過(guò)Action啟動(dòng)1" onclick=startAppA(1)>
  77. <input class="btn" type="button" value="通過(guò)Action啟動(dòng)2" onclick=startAppA(2)>
  78. <input class="btn" type="button" value="通過(guò)Action啟動(dòng)3" onclick=startAppA(3)>
  79. <input class="btn" type="button" value="通過(guò)Action啟動(dòng)4" onclick=startAppA(4)>
  80. </body>
  81. </html>

3.指定用QQ瀏覽器打開(kāi)鏈接:

  1. var optInfo = "{'key1':'value1'},{'key2':'value1'}";
  2. var extra='{data:"http://www.appcan.cn/"}';
  3. uexWidget.startApp(0, "com.tencent.mtt","com.tencent.mtt.MainActivity",optInfo,extra);

4.指定用 系統(tǒng)瀏覽器(android) 打開(kāi)鏈接:

  1. var value;
  2. appcan.ready(function() {
  3. value = uexWidgetOne.platformName;
  4. function openth() {
  5. if (value == "android") {
  6. uexWidget.startApp("1", "android.intent.action.VIEW", '{"data":{"mimeType":"text/html","scheme":"http://www.appcan.cn"}}');
  7. } else {
  8. uexWidget.loadApp("http://www.appcan.cn", null, null);
  9. }
  10. }
  11. })

getOpenerInfo 獲取widget的相關(guān)信息

uexWidget.getOpenerInfo();
說(shuō)明:
獲取打開(kāi)者傳入此widget的相關(guān)信息。即調(diào)用startWidget時(shí)傳入的info參數(shù)值。
參數(shù):
無(wú)
平臺(tái)支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:

  1. uexWidget.getOpenerInfo();

installApp 安裝apk

uexWidget.installApp(appPath)

說(shuō)明:

根據(jù)安裝包所在路徑安裝一個(gè)apk。

參數(shù):

參數(shù)名稱參數(shù)類型是否必選說(shuō)明
appPathStringapk所在路徑

平臺(tái)支持:
Android2.2+
版本支持:
3.0.0+
示例:

  1. var path = "res://pay.apk";
  2. uexWidget.installApp(path);

getPushInfo 獲取推送消息

uexWidget.getPushInfo();
說(shuō)明:

獲取推送消息,上報(bào)消息到管理后臺(tái)

參數(shù):

參數(shù)名稱參數(shù)類型是否必選說(shuō)明
typeString想要獲取的推送消息內(nèi)容類型,0:具體的推送內(nèi)容,1:包含推送標(biāo)題等其他推送消息的JSON字符串,默認(rèn)值為0

平臺(tái)支持:

Android2.2+
iOS6.0+

版本支持:
3.0.0+

示例:

  1. uexWidget.getPushInfo();

setPushNotifyCallback 設(shè)置Push消息到達(dá)時(shí)的回調(diào)函數(shù)

uexWidget.setPushNotifyCallback(cbFunction)
說(shuō)明:

如果應(yīng)用開(kāi)啟了推送功能,那么當(dāng)有消息推送進(jìn)來(lái)時(shí),平臺(tái)將調(diào)用指定的cbFunction函數(shù)通知頁(yè)面。

參數(shù):

參數(shù)名稱參數(shù)類型是否必選說(shuō)明
cbFunctionString回調(diào)函數(shù)方法名,有回調(diào)參數(shù),必選,即cbFunction(type),type:string類型,表示應(yīng)用的狀態(tài),0 未啟動(dòng),1 啟動(dòng)/后臺(tái), 2 啟動(dòng)/前臺(tái)

平臺(tái)支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:

  1. uexWidget.setPushNotifyCallback('pushCallback');
  2. function pushCallback(){
  3. alert("收到推送消息");
  4. }

setPushInfo 設(shè)置推送用戶信息

uexWidget.setPushInfo(uId,uNickName)

說(shuō)明:

設(shè)置推送用戶信息

參數(shù):

參數(shù)名稱參數(shù)類型是否必選說(shuō)明
uIdString用戶ID
uNickNameString用戶昵稱

平臺(tái)支持:

Android2.2+
iOS6.0+

版本支持:

3.0.0+

示例:

  1. uexWidget.setPushInfo('user10001','姓名');

setPushState 設(shè)置推送服務(wù)的狀態(tài)

uexWidget.setPushState(state)

說(shuō)明:

設(shè)置推送服務(wù)的狀態(tài)

參數(shù):

參數(shù)名稱參數(shù)類型是否必選說(shuō)明
stateNumber推送服務(wù)狀態(tài)0-關(guān)閉 1-開(kāi)啟

平臺(tái)支持:

Android2.2+
iOS6.0+

版本支持:

3.0.0+

示例:

  1. uexWidget.setPushState(0);

getPushState 獲取推送服務(wù)的狀態(tài)

uexWidget.getPushState();

說(shuō)明:

獲取推送服務(wù)的狀態(tài)

參數(shù):

無(wú)

平臺(tái)支持:

Android2.2+
iOS6.0+

版本支持:

3.0.0+

示例:

  1. uexWidget.getPushState();

isAppInstalled 是否安裝某第三方應(yīng)用

uexWidget.isAppInstalled(json)

說(shuō)明:

是否安裝某第三方應(yīng)用

  • 在iOS9.0+的系統(tǒng)上,只有在URLScheme白名單內(nèi)的應(yīng)用才會(huì)被正確的檢測(cè)是否安裝。檢測(cè)在URLScheme白名單外的應(yīng)用會(huì)一律返回未安裝的結(jié)果。

參數(shù):

  1. var json = {
  2. appData://(必選) 第三方應(yīng)用數(shù)據(jù),android平臺(tái)為第三方應(yīng)用包名;iOS平臺(tái)為 Scheme Url
  3. }

返回值:

在3.4+引擎下此方法具有Boolean類型返回值:當(dāng)應(yīng)用已安裝時(shí)會(huì)返回true,當(dāng)應(yīng)用未安裝或者調(diào)用接口的參數(shù)錯(cuò)誤時(shí)會(huì)返回false

平臺(tái)支持:

Android2.2+
iOS6.0+

版本支持:

3.0.0+

示例:

  1. var param1 = {
  2. appData:'com.tencent.mobileqq'//判斷手機(jī)上是否安裝qq應(yīng)用
  3. };
  4. var data1 = JSON.stringify(param1);
  5. uexWidget.isAppInstalled(data1);

closeLoading 關(guān)閉loading圖

uexWidget.closeLoading()

說(shuō)明:

關(guān)閉啟動(dòng)圖。用于應(yīng)用啟動(dòng)期間需要做頁(yè)面跳轉(zhuǎn)等邏輯。需要在config.xml 添加 <removeloading>true</removeloading>配置。 添加之后引擎不會(huì)關(guān)閉啟動(dòng)圖,由前端調(diào)用此接口關(guān)閉,超時(shí)(時(shí)間為3秒)之后引擎才會(huì)關(guān)閉啟動(dòng)圖。

參數(shù):

無(wú)

平臺(tái)支持:

iOS 7.0+
Android2.2+

版本支持:

iOS 3.4.1+
Android 3.2.0+

示例:

  1. uexWidget.closeLoading();

moveToBack 運(yùn)行到后臺(tái),不退出程序

uexWidget.moveToBack()

說(shuō)明:

程序?qū)?huì)在后臺(tái)運(yùn)行,不退出。只支持Android。

參數(shù):

無(wú)

平臺(tái)支持:

Android2.2+

版本支持:

3.2.2+

示例:

  1. uexWidget.moveToBack();

reloadWidgetByAppId 根據(jù)appId重載widget

uexWidget.reloadWidgetByAppId(appId);

說(shuō)明

在子widget更新完成時(shí)調(diào)用可加載更新的html、js、css

參數(shù)

  1. appId:子widget對(duì)應(yīng)的appId(必選)

平臺(tái)支持

Android 2.2+
iOS 5.1.1+

版本支持

3.1.0+

示例

  1. uexWidget.reloadWidgetByAppId(sdk2015);

setKeyboardMode 設(shè)置鍵盤(pán)模式

uexWidget.setKeyboardMode(json)
說(shuō)明
僅支持安卓平臺(tái),此設(shè)置在線云端打包已支持配置。選擇鍵盤(pán)模式-“壓縮模式”頁(yè)面隨鍵盤(pán)平移而平移(可解決鍵盤(pán)遮蓋輸入框),“平移模式”僅鍵盤(pán)平移,頁(yè)面不移動(dòng)。
參數(shù):

  1. var json = {
  2. mode://(必選) Number類型 0:壓縮模式 1:平移模式
  3. }

平臺(tái)支持:

Android2.2+

版本支持:

3.2.0+

示例:

  1. var json = {
  2. mode:0
  3. };
  4. var data1 = JSON.stringify(json);
  5. uexWidget.setKeyboardMode(data1);

getMBaaSHost 獲取MBaaS主機(jī)內(nèi)容

uexWidget.getMBaaSHost()

說(shuō)明:

獲取MBaaS主機(jī)內(nèi)容

參數(shù):

無(wú)

平臺(tái)支持:

Android2.2+
iOS6.0+

版本支持:

3.3.1+

示例:

  1. uexWidget.getMBaaSHost()

2.2 回調(diào)方法

cbStartWidget 加載widget完成時(shí)的回調(diào)方法

uexWidget.cbStartWidget(opId,dataType,data)

參數(shù):

參數(shù)名稱參數(shù)類型是否必選說(shuō)明
opIdNumber操作ID,在此函數(shù)中不起作用,可忽略
dataTypeNumber參數(shù)類型
dataNumber0-成功 1-失敗

平臺(tái)支持:

Android2.2+
iOS6.0+

版本支持:
3.0.0+

示例:

  1. uexWidget.cbStartWidget=function(opId,dataType,data){
  2. alert('opid:'+opId+',dataType:'+dataType+',data:'+data);
  3. }

cbRemoveWidget 刪除widget完成時(shí)的回調(diào)方法

uexWidget.cbRemoveWidget(opId,dataType,data)

參數(shù):

參數(shù)名稱參數(shù)類型是否必選說(shuō)明
opIdNumber操作ID,在此函數(shù)中不起作用,可忽略
dataTypeNumber參數(shù)類型
dataNumber0-成功 1-失敗

平臺(tái)支持:

Android2.2+
iOS6.0+

版本支持:
3.0.0+

示例:

  1. uexWidget.cbRemoveWidget=function(opId,dataType,data){
  2. alert('opid:'+opId+',dataType:'+dataType+',data:'+data);
  3. }

cbCheckUpdate 檢查更新完成時(shí)的回調(diào)方法

uexWidget.cbCheckUpdate(opId,dataType,data)

參數(shù):

參數(shù)名稱參數(shù)類型是否必選說(shuō)明
opIdNumber操作ID,在此函數(shù)中不起作用,可忽略
dataTypeNumber參數(shù)類型
dataString檢查結(jié)果 json格式
  1. var data={
  2. result:,//0- 需要更新 1- 不需要更新 2- 錯(cuò)誤
  3. }

平臺(tái)支持:

Android2.2+
iOS6.0+

版本支持:

3.0.0+
示例:

  1. uexWidget.cbCheckUpdate=function(opId,dataType,data){
  2. alert('opid:'+opId+',dataType:'+dataType+',data:'+data);
  3. }

cbGetOpenerInfo 獲取widget相關(guān)信息的回調(diào)方法

uexWidget.cbGetOpenerInfo(opId,dataType,data)

參數(shù):

參數(shù)名稱參數(shù)類型是否必選說(shuō)明
opIdNumber操作ID,在此函數(shù)中不起作用,可忽略
dataTypeNumber參數(shù)類型
dataString返回的數(shù)據(jù) 本widget的打開(kāi)者通過(guò)startWidget函數(shù)打開(kāi)本widget時(shí)傳入的info參數(shù)值

平臺(tái)支持:

Android2.2+
iOS6.0+

版本支持:

3.0.0+

示例:

  1. uexWidget.cbGetOpenerInfo=function(opId,dataType,data){
  2. alert('opid:'+opId+',dataType:'+dataType+',data:'+data);
  3. }

cbGetPushInfo 獲取推送消息的回調(diào)方法

uexWidget.cbGetPushInfo(opId,dataType,data)

參數(shù):

參數(shù)名稱參數(shù)類型是否必選說(shuō)明
opIdNumber操作ID,在此函數(shù)中不起作用,可忽略
dataTypeNumber參數(shù)類型
dataString返回的數(shù)據(jù) json格式字符串
  1. 根據(jù)iOS平臺(tái)推送的特殊性,推送服務(wù)器發(fā)出的推送的json格式為
  2. var data={
  3. aps{
  4. alert:,//推送消息的標(biāo)題
  5. badge:,//應(yīng)用圖標(biāo)上顯示的通知數(shù)
  6. sound:,//收到推送消息的聲音文件
  7. userInfo:,//推送收到的數(shù)據(jù)
  8. }
  9. }

平臺(tái)支持:

Android2.2+
iOS6.0+

版本支持:

3.0.0+
示例:

  1. uexWidget.cbGetPushInfo=function(opId,dataType,data){
  2. alert('opid:'+opId+',dataType:'+dataType+',data:'+data);
  3. }

cbGetPushState 獲取推送狀態(tài)的回調(diào)方法

uexWidget.cbGetPushState(opId,dataType,data)

參數(shù):

參數(shù)名稱參數(shù)類型是否必選說(shuō)明
opIdNumber操作ID,在此函數(shù)中不起作用,可忽略
dataTypeNumber參數(shù)類型
dataNumber0-關(guān)閉 1-開(kāi)啟

平臺(tái)支持:

Android2.2+

iOS6.0+

版本支持:

3.0.0+
示例:

  1. uexWidget.cbGetPushState=function(opId,dataType,data){
  2. alert('opid:'+opId+',dataType:'+dataType+',data:'+data);
  3. }

cbIsAppInstalled 是否安裝某第三方應(yīng)用的回調(diào)方法

uexWidget.cbIsAppInstalled(json);

參數(shù):

  1. var json = {
  2. installed://返回結(jié)果,0-已安裝;1-未安裝。
  3. }

平臺(tái)支持:

Android 2.2+
iOS 6.0+

版本支持:

3.0.0+

示例:

  1. uexWidget.cbIsAppInstalled = function(info){
  2. var result = JSON.parse(info);
  3. if(result.installed == 0){
  4. alert('installed');
  5. }else{
  6. alert('not installed');
  7. }
  8. }

cbStartApp 啟動(dòng)第三方應(yīng)用的回調(diào)方法

啟動(dòng)第三方應(yīng)用的回調(diào)方法,該方法在未成功調(diào)用第三方應(yīng)用時(shí)回調(diào)。

uexWidget.cbStartApp(info);

參數(shù):

參數(shù)名稱參數(shù)類型是否必選說(shuō)明
infoString回調(diào)信息內(nèi)容

平臺(tái)支持:

Android 2.2+

版本支持:

3.0.0+

示例:

  1. uexWidget.cbStartApp = function(info){
  2. alert(info);
  3. }

cbGetMBaaSHost 獲取MBaaS主機(jī)內(nèi)容的回調(diào)方法

uexWidget.cbGetMBaaSHost(opId,dataType,data)

參數(shù):

參數(shù)名稱參數(shù)類型是否必選說(shuō)明
opIdNumber操作ID,在此函數(shù)中不起作用,可忽略
dataTypeNumber參數(shù)類型
dataString返回的MBaaS主機(jī)內(nèi)容

平臺(tái)支持:

Android2.2+

iOS6.0+

版本支持:

3.3.1+

示例:

  1. uexWidget.cbGetMBaaSHost=function(opId,dataType,data){
  2. alert('opid:'+opId+',dataType:'+dataType+',data:'+data);
  3. }

2.3 監(jiān)聽(tīng)方法

  • 所有的監(jiān)聽(tīng)方法都得在root頁(yè)面進(jìn)行監(jiān)聽(tīng)

onLoadByOtherApp 被第三方應(yīng)用調(diào)起的監(jiān)聽(tīng)方法

uexWidget.onLoadByOtherApp(jsonData)

參數(shù):

  1. jsonData:(String類型) 必選 傳遞的數(shù)據(jù),json格式為:{"key1":"value1","key2":"value2","key3":"value3","key4":"value4"}

版本支持:
3.0.0+
示例:

  1. 第三方應(yīng)用調(diào)用appcan應(yīng)用示例代碼:
  2. Android調(diào)用方式:
  3. Intent intent = new Intent(Intent.ACTION_MAIN);
  4. intent.addCategory(Intent.CATEGORY_LAUNCHER);
  5. ComponentName cn = new ComponentName("org.zywx.wbpalmstar.widgetone.uex11352778", "org.zywx.wbpalmstar.engine.EBrowserActivity");
  6. //其中"org.zywx.wbpalmstar.widgetone.uex11352778"為appcan應(yīng)用的包名
  7. intent.setComponent(cn);
  8. Bundle bd=new Bundle();
  9. bd.putString("key1","value1");
  10. bd.putString("key2","value2");
  11. bd.putString("key3","value3");
  12. bd.putString("key4","value4");
  13. intent.putExtras(bd);
  14. startActivity(intent);
  15. iOS調(diào)用方式:
  16. NSString * url = @"AppCanPlugin://AppCan?k1=v1&k2=v2&k3=v3&k4=v4";
  17. //AppCanPlugin是appcan應(yīng)用的scheme
  18. [[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
  1. 應(yīng)用入口頁(yè)面注冊(cè)監(jiān)聽(tīng)代碼:
  2. function onLoadByOtherApp(jsonData){
  3. alert(jsonData);
  4. }

onSuspend 程序掛起的監(jiān)聽(tīng)方法

uexWidget.onSuspend()

參數(shù):
無(wú)

平臺(tái)支持:

Android 2.2+
iOS 6.0+

版本支持:

3.0.0+

示例:

  1. uexWidget.onSuspend = function(){
  2. alert("程序掛起");
  3. }

onResume 程序恢復(fù)的監(jiān)聽(tīng)方法

uexWidget.onResume()

參數(shù):
無(wú)

平臺(tái)支持:

Android 2.2+

iOS 6.0+

版本支持:

3.0.0+

示例:

  1. uexWidget.onResume = function(){
  2. alert("程序恢復(fù)");
  3. }
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)