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