Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Cordova插件的执行方法内的AsyncTask工作不正常_Javascript_Android_Cordova_Plugins_Phonegap Plugins - Fatal编程技术网

Javascript Cordova插件的执行方法内的AsyncTask工作不正常

Javascript Cordova插件的执行方法内的AsyncTask工作不正常,javascript,android,cordova,plugins,phonegap-plugins,Javascript,Android,Cordova,Plugins,Phonegap Plugins,我是第一次开发cordova插件,但遇到了以下问题 我已经创建了一个扩展CorodvaPlugin的类,并覆盖了给定的execute方法。我想要的是,在asynctask完成它的后台任务后,响应返回给JS,值显示在HTML上,但是发生的事情有时显示值,有时不显示。如果有任何帮助,我们将不胜感激 @Override public boolean execute(String action, JSONArray args, CallbackContext callbackContex

我是第一次开发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;
    }

}
在异步任务post execute中,我已经完成了这项工作

       @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();

        }

并且不要从execute方法返回true,只返回Pluginresult。

Pluginresult不是只用于旧版本的Cordova吗?例如,在Cordova 5.1.1中,execute返回布尔值,而不是PluginResult