Ejemplo n.º 1
0
 public void startWidgetWithPath(String[] parm) {
   if (parm.length < 4) {
     return;
   }
   EBrowserWindow curWind = mBrwView.getBrowserWindow();
   if (null == curWind) {
     return;
   }
   String path = parm[0];
   String inAnimiId = parm[1];
   String inForResult = parm[2];
   String inInfo = parm[3];
   String animDuration = null;
   String appKey = null;
   if (parm.length == 5) {
     animDuration = parm[4];
   }
   if (parm.length == 6) {
     appKey = parm[5];
   }
   int animId = EBrowserAnimation.ANIM_ID_NONE;
   long duration = EBrowserAnimation.defaultDuration;
   try {
     if (null != inAnimiId && inAnimiId.length() != 0) {
       animId = Integer.parseInt(inAnimiId);
     }
     if (null != animDuration && animDuration.length() != 0) {
       duration = Long.parseLong(animDuration);
     }
   } catch (Exception e) {;
   }
   try {
     WDataManager widgetData = new WDataManager(mContext);
     WWidgetData data = widgetData.getWidgetDataByAppPath(path);
     if (data == null) {
       showErrorAlert("路径为 " + path + " 的Widget不存在");
       jsCallback(function_startWidget, 0, EUExCallback.F_C_INT, EUExCallback.F_C_FAILED);
       return;
     }
     data.m_appkey = appKey;
     EWgtResultInfo info = new EWgtResultInfo(inForResult, inInfo);
     info.setAnimiId(animId);
     info.setDuration(duration);
     if (startWidget(data, info)) {
       jsCallback(function_startWidget, 0, EUExCallback.F_C_INT, EUExCallback.F_C_SUCCESS);
     } else {
       jsCallback(function_startWidget, 0, EUExCallback.F_C_INT, EUExCallback.F_C_FAILED);
     }
   } catch (Exception e) {
     e.printStackTrace();
     showErrorAlert("搜索Widget发生异常!请确认Widget是否损坏!");
     jsCallback(function_startWidget, 0, EUExCallback.F_C_INT, EUExCallback.F_C_FAILED);
   }
 }