2
我第一次開發cordova插件,卡在以下問題中。AsyncTask裏面執行Cordova插件的方法不正常
我創建了一個擴展CorodvaPlugin的類並覆蓋了給定的execute方法。我想要的是在asynctask完成後臺任務之後,響應返回給JS,並且值顯示在HTML上,但是發生了什麼,有時會顯示值,有時候不會。任何幫助將不勝感激。
@Override
public boolean execute(String action, JSONArray args,
CallbackContext callbackContext) throws JSONException {
try {
context = this.cordova.getActivity().getApplicationContext();
this.mMyCallbackContext = callbackContext;
new WSCall().execute();
PluginResult pluginResult = new PluginResult(PluginResult.Status.NO_RESULT);
pluginResult.setKeepCallback(true);
mMyCallbackContext .sendPluginResult(pluginResult);
return true;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
}
}
,並在異步任務執行後我做了這個
@Override
protected void onPostExecute(String result) {
PluginResult result_;
if(groups!=null)
result_ = new PluginResult(PluginResult.Status.OK, groups);
else if(ret_msg!=null)
result_ = new PluginResult(PluginResult.Status.OK, ret_msg);
else
result_ = new PluginResult(PluginResult.Status.OK, "");
result_.setKeepCallback(false);
mMyCallbackContext.sendPluginResult(result_);
pDialog.dismiss();
}
僅針對舊版Cordova的PluginResult?例如,在Cordova 5.1.1中,執行返回布爾值,而不是PluginResult – 2015-10-09 23:53:50