我无法使 Android phonegap 插件工作。甚至没有一个我发现的例子,也没有我试图自己创建一个的可悲失败。我第一次尝试使用这样的教程。他们不适合我。我总是以Cannot call method of undefined
错误告终。
所以我尝试了一些准备好的东西。从 github得到这个项目。这只是一个显示敬酒的简单插件。我检查了我在教程中学到的所有内容:
//the package name in the java
package com.phonegap.toast;
//my class extends Plugin and has a simple show toast method.
public class Tutorial extends Plugin {
@Override
public PluginResult execute(String cmd, JSONArray args, String callback) {
if(cmd.equals("toast"))
{
return showToast(args);
}
return null;
}
private PluginResult showToast(JSONArray args) {
final String message;
try {
message = args.getString(0);
ctx.runOnUiThread(new Runnable()
{
public void run() {
Toast myToast = Toast.makeText(ctx, message, Toast.LENGTH_SHORT);
myToast.show();
}
});
return new PluginResult(PluginResult.Status.OK);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return new PluginResult(PluginResult.Status.JSON_EXCEPTION);
}
}
}
该插件在 res/xml/plugins.xml 中定义
plugin name="Tutorial" value="com.phonegap.toast.Tutorial"
不,如果我把它放在 rex/xml/config.xml 它也不起作用
最后,调用插件的方法:
function createToast() {
// i also tried window.Tutorial.showToast('Hello AndroidOpen'); with no success
window.plugins.Tutorial.showToast('Hello AndroidOpen');
}
在这里我再次遇到同样的错误。
10-22 15:39:07.770: E/Web Console(2885): Uncaught TypeError: Cannot call method 'showToast' of undefined at file:///android_asset/www/main.js:123
任何开明的灵魂都可以向我解释我做错了什么?几天来我一直在尝试这个,有很多不同的插件,包括我自己的,甚至是这个,我不知道它是什么。