如何使用 以编程方式获取 Android/iPhone 的联系人列表titanium
,我需要这个用于只读目的。
我已经检查过这个我可以使用任何 Titanium API 获取用户的电话号码吗?,但我喜欢使用我的应用程序打开它,然后拨打所选号码的电话,我的应用程序不会对该号码执行任何其他操作(编辑、删除)。在使用钛或简单的 Android 和 iPhone 的 Android 和 iPhone 中是否有可能?
如何使用 以编程方式获取 Android/iPhone 的联系人列表titanium
,我需要这个用于只读目的。
我已经检查过这个我可以使用任何 Titanium API 获取用户的电话号码吗?,但我喜欢使用我的应用程序打开它,然后拨打所选号码的电话,我的应用程序不会对该号码执行任何其他操作(编辑、删除)。在使用钛或简单的 Android 和 iPhone 的 Android 和 iPhone 中是否有可能?
首先,您需要访问此处描述的联系人。
之后,可以通过以下方式获取所有联系人getAllPeople
这适用于 iOS 和 Android。
在 Android 上执行呼叫很简单(您应该使用来创建电话呼叫意图Ti.Android.ACTION_DIAL
)。在 iOS 上,您只需要显示号码,系统就会将其链接到呼叫操作。如果没有,您可以向元素添加侦听器:
label.addEventListener('click', function(e) {
Ti.Platform.openURL('tel:<number');
});
您可以使用showContacts方法获取您的电话联系人,如下所示
Titanium.Contacts.showContacts(); //Will display the native contacts in both iphone and android
如果是 iphone,您应该需要联系人的访问权限。您可以按如下方式检查权限
if (Ti.Contacts.contactsAuthorization == Ti.Contacts.AUTHORIZATION_AUTHORIZED){
//You've authorization
//Some code here
} else if (Ti.Contacts.contactsAuthorization == Ti.Contacts.AUTHORIZATION_UNKNOWN){
Ti.Contacts.requestAuthorization(function(e){
//Authorization is unknown so requesting for authorization
if (e.success) {
//You've authorization
//Some code here
} else {
//No authorization hence you cannot access contatcs
}
});
} else {
//No authorization hence you cannot access contatcs
}
有关详细信息,请参阅钛触点模块。
Ti.Contacts.getAllPeople
也会这样做,也请参考此链接
$.index.open();
var people = Titanium.Contacts.getAllPeople();
var totalContacts = people.length;
Ti.UI.setBackgroundColor('#F0FFFF');
var data = [];
var win = Ti.UI.createWindow({
backgroundColor : 'white',
});
var view = Ti.UI.createView({
height : "50dp",
width : "100%",
top : '0dp',
backgroundColor : '#050505',
});
var text = Ti.UI.createLabel({
text : "Contact Book",
left : 20,
color : '#fff'
});
view.add(text);
win.add(view);
var template = {
childTemplates : [{
type : 'Ti.UI.Button',
bindId : 'image',
properties : {
left : '2dp',
backgroundImage : 'appicon.png',
}
}, {
type : 'Ti.UI.Label',
bindId : 'rowtitle',
properties : {
left : '70dp'
}
}]
};
if( totalContacts > 0 )
{
for( var index = 0; index < totalContacts; index++ )
{
var person = people[index];
Titanium.API.info(person.fullName);
//table.add(person.fullName);
if(person.fullName != null){
data.push({
rowtitle : {
text :person.fullName
},
});
}
}
}
var listView = Ti.UI.createListView({
top : '55dp',
templates : {
'plain' : template
},
defaultItemTemplate : 'plain',
});
var section = Ti.UI.createListSection({
items : data
});
listView.sections = [section];
win.add(listView);
win.open();