[英]Call not working in android using cordova, grabbing contacts from phone
I want to call a phone number from clicking on a link, but the contact should be retrieved from phone. 我想通过单击链接来拨打电话号码,但是应该从电话中检索联系人。 So I implemented a code for this. 因此,我为此实现了一个代码。 But tel is opening dialer, but my retrieved contact number is missing. 但是电话正在打开拨号程序,但是我找回的联系电话丢失了。 Any suggestion? 有什么建议吗?
<!DOCTYPE html>
<html>
<head>
<title>Contact Example</title>
<script type="text/javascript" charset="utf-8" src="cordova-1.8.0.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="jquery.mobile-1.1.0.min.css" />
<script src="jquery-1.7.1.min.js"></script>
<script src="jquery.mobile-1.1.0.min.js"></script>
<script type="text/javascript" charset="utf-8">
// Wait for Cordova to load
//
document.addEventListener("deviceready", onDeviceReady, false);
// Cordova is ready
//
function onDeviceReady() {
// specify contact search criteria
var options = new ContactFindOptions();
options.filter=""; // empty search string returns all contacts
options.multiple=true; // return multiple results
filter = ["displayName"]; // return contact.displayName field
// find contacts
navigator.contacts.find(filter, onSuccess, onError, options);
}
// onSuccess: Get a snapshot of the current contacts
//
function onSuccess(contacts) {
for (var i=0; i<contacts.length; i++) {
alert(contacts[i].displayName);
var phonenumber;
phonenumber = contacts[i].phoneNumbers;
$("ul").append("<li><a href=tel:"+phonenumber+">"+contacts[i].displayName+"</a></li>");
}
};
// onError: Failed to get the contacts
//
function onError(contactError) {
alert('onError!');
}
</script>
</head>
<body>
<ul data-role="listview" data-theme="g" data-filter="true">
<li><a>hello</a></li>
</ul>
</body>
</html>
contacts[i].phoneNumbers
is an array, so you should add it the variable: contacts[i].phoneNumbers
是一个数组,因此应将其添加为变量:
var phonenumber = contacts[i].phoneNumbers[0];
or loop through that array, which ever suits you best. 或遍历最适合您的数组。
试试看
$("ul").append("<li><a href=callto:"+phonenumber+">"+contacts[i].displayName+"</a></li>");
This worked for me: 这为我工作:
phonenumber = contacts[i].phoneNumbers[0].value.replace(" ", "");
$("#ul").append("<li><a href=tel:+91"+phonenumber.replace(" ", "")+">"+contacts[i].displayName+"<br/>"+phonenumber.replace(" ", "")+"</a></li><br/>");
I used replace() function because i am getting space in between the digits of phone number. 我使用了replace()函数,因为我在电话号码的数字之间留出了空间。
Hope it will help you. 希望对您有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.