/**
* <strong>函數</strong><br><br>
* 該函數映射至Javascript中StatusBar對象的getStatusBarHeight函數<br><br>
* <strong>JS Example:</strong><br>
* statusBar.getStatusBarHeight(argument);
*
* @param moduleContext (Required)
*/
public void jsmethod_getStatusBarHeight(UZModuleContext moduleContext){
int statusHeight = -1;
try
{
Class<?> clazz = Class.forName("com.android.internal.R$dimen");
Object object = clazz.newInstance();
int height = Integer.parseInt(clazz.getField("status_bar_height").get(object).toString());
statusHeight = mContext.getResources().getDimensionPixelSize(height);
JSONObject ret = new JSONObject();
ret.put("statusHeight",px2dp(mContext,statusHeight));
moduleContext.success(ret, true);
} catch (Exception e){
e.printStackTrace();
JSONObject ret = new JSONObject();
for (StackTraceElement traceElement : e.getStackTrace()) {
try {
ret.put(traceElement.getLineNumber()+"", traceElement.getClassName());
} catch (JSONException e1) {
e1.printStackTrace();
}
}
moduleContext.error(ret, ret, false);
}
}
}
這個具體怎麽同步返回值
(註意要下載最新模塊開發源碼)
=====================================
最後改為
public ModuleResult jsmethod_getStatusBarHeight_sync(UZModuleContext moduleContext){
int statusHeight = -1;
try
{
Class<?> clazz = Class.forName("com.android.internal.R$dimen");
Object object = clazz.newInstance();
int height = Integer.parseInt(clazz.getField("status_bar_height").get(object).toString());
statusHeight = mContext.getResources().getDimensionPixelSize(height);
JSONObject ret = new JSONObject();
ret.put("statusHeight",px2dp(mContext,statusHeight));
moduleContext.success(ret, true);
} catch (Exception e){
e.printStackTrace();
JSONObject ret = new JSONObject();
for (StackTraceElement traceElement : e.getStackTrace()) {
try {
ret.put(traceElement.getLineNumber()+"", traceElement.getClassName());
} catch (JSONException e1) {
e1.printStackTrace();
}
}
moduleContext.error(ret, ret, false);
}
}
return new ModuleResult(statusHeight );
}