2

を使用してAndroid/iPhoneの連絡先リストをプログラムで取得するにはどうすればよいですかtitanium。これは読み取り専用の目的で必要です。

私はすでにこれを確認しました Titanium APIのいずれかを使用してユーザーの電話番号を取得できますか? 、しかし、アプリを使用して開き、選択した番号に電話をかけたいのですが、アプリはその番号に対して他のアクション(編集、削除)を実行しません。チタンまたは単純なAndroidとiPhoneを使用したAndroidとiPhoneでそれは可能ですか?

4

3 に答える 3

5

まず、ここで説明されているように、連絡先にアクセスする必要があります。

その後、すべての連絡先を経由して取得することが可能ですgetAllPeople

これは、iOS と Android の両方で機能します。

Android では通話を簡単に実行できます ( で電話通話インテントを作成する必要がありますTi.Android.ACTION_DIAL)。iOS では、番号を表示するだけで、システムはそれを通話アクションにリンクする必要があります。そうでない場合は、要素にリスナーを追加できます。

label.addEventListener('click', function(e) {
  Ti.Platform.openURL('tel:<number');
});
于 2013-04-05T12:03:25.920 に答える
1

次のように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
}

詳細については、Titanium Contacts モジュールを参照してください。

Ti.Contacts.getAllPeopleまた、同じことを行います。このリンクも参照してください

于 2013-04-05T12:21:53.770 に答える
0
$.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();
于 2015-04-22T11:08:50.060 に答える