【问题标题】:How to send data to phonegap/cordova app from plugin如何从插件将数据发送到 phonegap/cordova 应用程序
【发布时间】:2015-04-15 05:10:11
【问题描述】:

我已经编写了一个插件来从 phonegap 打开一个 Android 原生活动页面并且它工作正常。在本机活动页面中,我有一个按钮。单击该按钮时,我想在我的 phonegap 中调用 JavaScript 函数。

【问题讨论】:

    标签: javascript android cordova android-activity phonegap-plugins


    【解决方案1】:

    听起来您需要embed a WebView in your Activity 并将您的按钮放在加载到其中的 HTML 中。 WebView 作为一个迷你浏览器可以处理你的 javascript 函数。 Javascript 可以通过接口调用原生代码,但原生代码不能调用 javascript,至少不能通过 WebView。

    【讨论】:

      【解决方案2】:

      点击按钮,您需要使用您要调用的函数的名称成功进行cordovaCallback。然后,在javascript端,您需要在成功块中获取该函数名称并使用eval运行您的函数。

      第二种方法是您可以在 javascript 端创建自定义事件。然后发送带有cordovaCallback的事件名称并在javascript成功块触发事件。

      【讨论】:

        【解决方案3】:

        Official documentation provides the example 将数据从本机代码发送到 javascript。

        发送数据需要调用CallbackContext对象的success函数。

        callbackContext.success("Native button pressed");
        

        您在 javascript 的成功回调中接收并处理该数据。 当您调用 cordova.exec 方法运行插件时,您会提供成功回调作为第一个参数。

        可以发送不同种类的数据。

        【讨论】:

          【解决方案4】:

          试试这个。

            Android : this.appView.loadUrl("javascript:yourmethodname()");
            iOS     : [webView stringByEvaluatingJavaScriptFromString:@"javascript:yourmethodname()"];
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-10-04
            • 2017-02-10
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-10-16
            • 1970-01-01
            • 2018-10-21
            相关资源
            最近更新 更多