微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用Cordova和Eclipse为Android创建helloWorld插件

我做了很多研究,似乎无法找到为什么这不起作用.我所拥有的是运行Cordova 2.7.0的 Eclipse中基于Cordova的 Android应用程序.我想构建一个简单的插件,只需在用户完成时提醒用户.

我的index.html

<head>
    <script type="text/javascript" src="cordova-2.7.0.js"></script>
    <script>
        window.func = function(str,callback){
            alert("Outside Call Working");
            cordova.exec(callback,function(err){alert(err)},"HelloPlugin","echo",[str]);
        }
        function callPlugin(str){
            alert("JS Working");
            window.func(str,function(){
                alert("Done!");
            });
        }
    </script>
</head>
<body>
    <h2>PluginTest</h2>
    <a onclick="callPlugin('Plugin Working!')">Click me</a>
</body>

我在我添加插件的config.xml行

<plugin name="HelloPlugin" value="org.apache.cordova.plugin.HelloPlugin" />

我的实际插件HelloPlugin.java位于MainActivity.java旁边的src / com / example / plugintest中

package com.example.plugintest;

import org.apache.cordova.api.CallbackContext;
import org.apache.cordova.api.CordovaPlugin;
import org.json.JSONArray;
import org.json.JSONException;

public class HelloPlugin extends CordovaPlugin{

    @Override
    public boolean execute(String action,JSONArray args,CallbackContext callbackContext) throws JSONException {
        /*if(action.equals("echo")){
            String message = args.getString(0); 
            callbackContext.success(message);
            return true;
        }*/
        callbackContext.success(action);
        return true;
    }
}

任何帮助是极大的赞赏!

解决方法

config.xml中“HelloPlugin”的值应指向java类所在的包,以便Cordova可以找到并执行Java代码.所以如果你改变了 < plugin name =“HelloPlugin”value =“org.apache.cordova.plugin.HelloPlugin”/> 至 < plugin name =“HelloPlugin”value =“com.example.plugintest.HelloPlugin”/> 我相信它应该有效.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐