Cordova 如何从java脚本中的phonegap插件获取值?

Cordova 如何从java脚本中的phonegap插件获取值?,cordova,Cordova,我必须从手机上获取calllog并以电子邮件的形式发送。我的问题是我不知道如何从calllog插件中获取脚本格式的值以电子邮件的形式发送。有人能帮我吗?我也发布了我的代码 Calllistplugin.java backup.html 我必须以脚本格式从backup.html文件中的calllistplugin.java文件中获取值。我不知道如何实现它。有人能给我一些关于这个问题的想法吗?? 感谢您的帮助……以下是您应该如何做的 function onDeviceReady() { w

我必须从手机上获取calllog并以电子邮件的形式发送。我的问题是我不知道如何从calllog插件中获取脚本格式的值以电子邮件的形式发送。有人能帮我吗?我也发布了我的代码

Calllistplugin.java

backup.html

我必须以脚本格式从backup.html文件中的calllistplugin.java文件中获取值。我不知道如何实现它。有人能给我一些关于这个问题的想法吗??
感谢您的帮助……

以下是您应该如何做的

function onDeviceReady() {

    window.plugins.CallListPlugin.list('all', successCallback,
                failureCallback);
}

function successCallback(e) {
console.log("Success");

var newArray = new Array();
var durationArray = new Array();
var numberArray = new Array();
var typeArray = new Array();
var dateArray = new Array();
var cachedNumberTypeArray = new Array();

for (i = 0; i < e.rows.length; i++) {
      newArray.push(e.rows[i].new);
      durationArray.push(e.rows[i].duration);
      numberArray.push(e.rows[i].number);
      typeArray.push(e.rows[i].type);
      dateArray.push(e.rows[i].date);
      cachedNumberTypeArray.push(e.rows[i].cachedNumberType);
    }
}

谢谢您,先生,谢谢您的帮助..我收到错误代码07-11 13:38:54.273:I/Web控制台722:error in success callback:CallListPlugin2=TypeError:无法读取未定义位置的属性'length'file:///android_asset/www/cordova-1.8.0.js:254Oh 对我忘了。。。只需将e.Rows.length改为e.Rows.length,而不需要window.plugins.CallListPlugin.list'CallListPlugin',successCallback,failureCallback;使用window.plugins.CallListPlugin.list'all',successCallback,failureCallback;未捕获引用错误:未在处定义取消选中file:///android_asset/www/backup.html:123 这是我的错误,让我们一起来
<html>
<head>

<center>Phone Log</center>

<style type="text/css">
body {
    background-image: url(images/background.png);
}
</style>

<script type="text/javascript" charset="utf-8" src="cordova-1.8.0.js"></script>
<script type="text/javascript" charset="utf-8" src="Calllog.js"></script>
<script type="text/javascript" charset="utf-8" src="webintent.js"></script>

</head>


<script type="text/javascript" charset="utf-8">
    function UnCheckAll() {
        var checkbox = document.getElementById(1);
        document.getElementById(1).checked = true;
        document.getElementById(2).checked = false;

        if (checkbox.checked) {

            document.addEventListener("deviceready", onDeviceReady, false);

        }
    }

    function onDeviceReady() {

    window.plugins.CallListPlugin.list('CallListPlugin', successCallback,
                failureCallback);



        var extras = {};
        extras[WebIntent.EXTRA_SUBJECT] = "subject";
        extras[WebIntent.EXTRA_TEXT] = "body";

        window.plugins.WebIntent.startActivity({
            url : 'mailto',
            action : WebIntent.ACTION_SEND,
            type : 'text/plain',
            extras : extras
        }, success, fail); 

    }

    function successCallback(e) {

        console.log("Success");
    }

    function failureCallback(f) {
        console.log("Failure");
    }

     function success(e) {

        console.log("SuccessEMAIL");
    }
    function fail(f) {
        console.log("FailureEMAIL");
    } 
</script>

<body background="../images/background.png">
    <center>
        <table>


            <tr>
                <td>&nbsp;</td>
            </tr>
            <tr>
                <td>&nbsp;</td>
            </tr>
            <tr>
                <td>&nbsp;</td>
            </tr>
            <tr>
                <td>&nbsp;</td>
            </tr>
            <tr>
                <td>&nbsp;</td>
            </tr>

            <tr>
                <td>Call Log:</td>
                <td><input type="checkbox" id="1" name="check_list"></td>
            </tr>
            <tr>
                <td>Sms Log:</td>
                <td><input type="checkbox" id="2" name="check_list"></td>
            </tr>
            <tr>
                <td>&nbsp;</td>
            </tr>

            <tr>

                <td><font face="verdana,arial" size=-1><input
                        type="image" src="images/backup.png" name="Un_CheckAll"
                        value="UncheckAll" onClick="UnCheckAll()"></td>

            </tr>



        </table>
    </center>
    </form>
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>

</body>
</html>
    var CallListPlugin = function() {
    };

    CallListPlugin.prototype.list = function(params, successCallback, failureCallback) {
        return cordova.exec(successCallback, failureCallback, 'CallListPlugin', 'list',
                [ params ]);
    };

    CallListPlugin.prototype.contact = function(params, successCallback, failureCallback) {
        return cordova.exec(successCallback, failureCallback, 'CallListPlugin', 'contact',
                [ params ]);
    };

    CallListPlugin.prototype.show = function(params, successCallback, failureCallback) {
        return cordova.exec(successCallback, failureCallback, 'CallListPlugin', 'show', 
                [ params ]);
    };

    /*cordova.addConstructor(function() {
        cordova.addPlugin('CallLog', new CallLog());
        PluginManager.addService("CallListPlugin", "com.gsr.imei.CallListPlugin");
    });*/

    cordova.addConstructor(function() {
        cordova.addPlugin("CallListPlugin", new CallListPlugin());
    });
function onDeviceReady() {

    window.plugins.CallListPlugin.list('all', successCallback,
                failureCallback);
}

function successCallback(e) {
console.log("Success");

var newArray = new Array();
var durationArray = new Array();
var numberArray = new Array();
var typeArray = new Array();
var dateArray = new Array();
var cachedNumberTypeArray = new Array();

for (i = 0; i < e.rows.length; i++) {
      newArray.push(e.rows[i].new);
      durationArray.push(e.rows[i].duration);
      numberArray.push(e.rows[i].number);
      typeArray.push(e.rows[i].type);
      dateArray.push(e.rows[i].date);
      cachedNumberTypeArray.push(e.rows[i].cachedNumberType);
    }
}