4

Androidで新しい連絡先を追加する方法を使用して、ネイティブアプリの名前、携帯電話番号、メールIDを使用して連絡先をプログラムで作成する方法を知っています。しかし、私は着信音との接触を作成する方法がわかりません。私を助けてください。前もって感謝します

連絡先をネイティブアプリに追加した後、着信音を追加するソリューションを入手しました。

String select = "(" + ContactsContract.Contacts.DISPLAY_NAME + " == \"" +first_name+ "\" )"; 

Cursor c1 = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, 
CONTACTS_SUMMARY_PROJECTION, select, null, ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC");

startManagingCursor(c1);

int id=0;

if (c1.moveToNext()) {

id = new Integer(c1.getString(0)).intValue();

Toast.makeText(getApplicationContext(), "CONTACT ID: "+id+"", Toast.LENGTH_LONG).show(); 

} 

ContentResolver cr = getContentResolver(); 

cr.query(ContactsContract.Contacts.CONTENT_URI,null, null, null, null);

ContentValues values=new ContentValues(); values.put(ContactsContract.Contacts.CUSTOM_RINGTONE, newgroup_ringtone); 
cr.update(ContactsContract.Contacts.CONTENT_URI, values, Contacts._ID + "=" + id, null);
4

1 に答える 1

1

最初に連絡先を追加してから、その連絡先を取得し、次のようなコードで着信音で連絡先を更新してみませんか。

ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
ops.add(ContentProviderOperation.newUpdate(ContactsContract.Contacts.CONTENT_URI)
        .withSelection(ContactsContract.Contacts._ID + " = ?", new String[] {id})
        .withValue(ContactsContract.Contacts.STARRED, starred)
        .withValue(ContactsContract.Contacts.SEND_TO_VOICEMAIL, sendToVoicemail)
        .withValue(ContactsContract.Contacts.CUSTOM_RINGTONE, ringtone)
        .build());

try {
    resolver.applyBatch(ContactsContract.AUTHORITY, ops);
}
于 2013-02-28T20:29:04.610 に答える