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); } }