簡體   English   中英

使用Cordova和Eclipse為Android創建helloWorld插件

[英]Creating a helloWorld plugin for Android using Cordova and Eclipse

我做了很多研究,似乎無法找到為什么這不起作用。 我所擁有的是運行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;
    }
}

任何幫助是極大的贊賞!

在這一行

    window.func = function(str,callback){
        alert("Outside Call Working");
        cordova.exec(callback, function(err){alert(err)},"HelloPlugin","echo", [str]);
    }

像這樣

window.func = function(str,callback){
        alert("Outside Call Working");
        cordova.exec(callback, function(err){alert(err)},"org.apache.cordova.plugin.HelloPlugin","echo", [str]);
    }

config.xml中“HelloPlugin”的值應指向Java類所在的包,以便Cordova可以找到並執行Java代碼。 因此,如果您將<plugin name="HelloPlugin" value="org.apache.cordova.plugin.HelloPlugin" />更改為<plugin name="HelloPlugin" value="com.example.plugintest.HelloPlugin" />我相信它應該管用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM