Phonegap调用本地代码的流程是什么?

发布于 2021-11-23 20:50:17 字数 442 浏览 722 评论 3

采用Phonegap开发的时候,如果需要调用本地代码,那么:

1.创建js,然后调用类似于cordova.exec(success,fail, "插件名", action,[args])这样的方式。

2.本地java代码,继承CordovaPlugin,实现插件的功能。
 @Override
    public boolean execute(String action, JSONArray args, CallbackContext callbackContext)

js触发时,会调用插件里面的这个方法。然后在这里面做功能的实现。

现在问题来了:

从cordova.exec 到本地的execute,这一段路是怎么连接起来的?我看了半天源码,也没找到这一条路。很是郁闷。

求大神帮忙解答一下!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

泛泛之交 2021-11-30 09:21:15
<span style="font-size: 14px;">package org.apache.cordova.plugin;  
  
import org.apache.cordova.api.CordovaPlugin;  
import org.apache.cordova.api.PluginResult;  
import org.json.JSONArray;  
import org.json.JSONException;  
import org.json.JSONObject;  
  
/** 
 * This class echoes a string called from JavaScript. 
 */  
public class Echo extends CordovaPlugin {  
    @Override  
    public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {  
        if (action.equals("echo")) {  
            String message = args.getString(0);   
            this.echo(message, callbackContext);  
            return true;  
        }  
        return false;  
    }  
  
    private void echo(String message, CallbackContext callbackContext) {  
        if (message != null && message.length() > 0) {   
            callbackContext.success(message);  
        } else {  
            callbackContext.error("Expected one non-empty string argument.");  
        }  
    }  
}</span>  

http://www.cnblogs.com/zhwl/archive/2013/07/11/3184324.html

http://cordova.apache.org/docs/en/3.4.0/guide_platforms_ios_plugin.md.html

剑心龙吟 2021-11-30 09:15:01

我在看源码。。还是看的云里雾里

冷默言语 2021-11-25 09:59:58

你可以找一个插件,研究一下插件的调用流程,会更容易看懂。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文