0

我正在尝试为 Android 编写一个 PhoneGap Cordova 2.2.0 插件,但我遇到了问题,我不确定原因是什么。

这是我的 JS:

PushCapure.js

var PushCapture = { 
        init : function () { 
            console.log('Attempting to call the PushCapture plugin');
            return cordova.exec(function() {
                alert('PushCapture was successful');
            }, function(error) {
                alert('PushCapture failed');
            }, "PushCapture", "capture", []);
        } 
};

现在这是我要运行的本机代码

com.ron.camanon.PushCapture.java

package com.ron.camanon;

import org.apache.cordova.api.CordovaPlugin;
import android.util.Log;

public class PushCapture extends CordovaPlugin {  

    public void capture()
    {
        Log.i("PushCapture", "PushCapture called, capture video stream intended...");
    }
} 

这对我不起作用,我还将此行添加到我的res/config.xml

<plugin name="PushCapture" value="com.ron.camanon.PushCapture"/>

错误回调是我尝试插件时唯一执行的操作。

我究竟做错了什么?

这是适用于 Android 的 Cordova 2.2.0

4

1 回答 1

2

这不是插件在 Android 中的工作方式,看起来你正在使用它调用某个方法的 iOS 模型。在 Android 中,插件的“方法”或特定命令将在 exec 函数中作为字符串发送,请参阅下面的代码示例,来自Android 上的插件的 Phonegap 教程

@Override
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
    if ("beep".equals(action)) {
        this.beep(args.getLong(0));
        callbackContext.success();
        return true;
    }
    return false;  // Returning false results in a "MethodNotFound" error.
}
于 2012-12-09T08:02:38.610 回答