从原生iOS联系方式获取钛的联系方式

时间:2012-12-24 11:58:47

标签: ios titanium contacts appcelerator titanium-mobile

我是Titanium的新手。 目前我正在开发一个项目,用户需要使用iOS联系人App的联系方式。

我的app.js看起来像这样

Window = require('ui/handheld/ApplicationWindow');
var win = Window();
win.open();
var button = Ti.UI.createButton({
    title : 'Show Contacts',
    width : 100,
    height: 50,
});
win.add(button);
button.addEventListener('click',function(e){
    Titanium.Contacts.showContacts({ });
});

当我点击按钮时,会显示以下代码:

Contact list

当我选择联系人时,详细信息会显示在另一个屏幕上:

Contact details

但我不希望这样,当用户选择单个联系人时,应将详细信息传递给我的app.js文件。而且无需进入详细信息页面。

有没有办法做到这一点? 请帮我。 提前谢谢。

3 个答案:

答案 0 :(得分:2)

在选择某人时,您似乎错过了要调用的函数声明:

Titanium.Contacts.showContacts({/*missing selectedPerson callback object*/});

您可以详细了解可以将哪些参数传递到showContacts方法here

答案 1 :(得分:1)

最后我明白了。

我使用了以下代码:

button.addEventListener('click',function(e){
    Titanium.Contacts.showContacts(values);
});
var values = {cancel:function(){}};
values.fields = ['firstName', 'lastName', 'phone'];

values.selectedProperty = function(e) {
                var cn = e.person.firstName; 
                var sn = e.person.lastName;
                alert('Name'+cn+' '+sn);
};

参考:Titanium Contacts

答案 2 :(得分:1)

var parms = {
animated : true,
selectedPerson : function(e) {
    alert(e.person);
}

}; Titanium.Contacts.showContacts(parms);

您将在e.person对象中获取所选人员的详细信息。可以根据您的要求传递给app.js等。我只是在警报中展示了它。