0

ここの手順を使用してSMS送信アプリケーションを作成しました。ここで、電話帳に保存されている番号に従って番号または名前を入力する場合、つまり電話番号を入力して電話をかける場合のように、電話番号の提案を追加します(入力時に動的に)。

できるかどうか?可能であれば、どうすればこれを行うことができますか?APIレベル2.2を使用しました。

編集:私はここで質問の助けを借りてこれを行いましたが、電話帳から名前をクリックすると、テキストボックスに名前が表示されますが、SMSを送信するための番号が必要です。

質問:選択した名前にメッセージを送信できるように、番号を取得するにはどうすればよいですか。

4

1 に答える 1

2

はい、可能です。ContactsContractを使用して携帯電話の既存の番号を取得し、電話番号 EditText をAutoCompleteTextViewに変更し、 SimpleCursorAdapterを使用して連絡先の番号を AutoCompleteTextView にバインドできます。


追加
連絡先の名前を電話番号に変換したい場合は、「送信」ボタンのonClick()メソッドでこれを試すことができます:

Cursor cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, 
        new String[] { ContactsContract.CommonDataKinds.Phone.NUMBER }, 
        ContactsContract.Contacts.DISPLAY_NAME + " = '" + autoComplete.getText() + "'", 
        null, null);
if(cursor.moveToFirst()) 
    phoneNo = cursor.getString(0);

これは、AutoCompleteTextView の名前と一致する最初の連絡先から最初の番号のみを取得することを理解してください。同じ名前の連絡先と複数の番号の連絡先を区別する方法を識別する必要があります。

于 2012-09-23T17:09:03.847 に答える