1

アプリの別のテーブルに ID を保存しているいくつかのホワイトリストの連絡先を除いて、すべての通話を自動的にボイスメールに送信する必要があるアプリを開発しようとしています。誰かが私にこれを行うための正しいアプローチを提案できますか?

4

1 に答える 1

0

これは私がすでに身に着けていたコードです。リスト内の連絡先を選択して、それらの連絡先からのすべての通話をメールボックスに直接送信するか、メールボックスに送信しないかを指定できます。

StringBuilder mailboxIds = new StringBuilder(""); // a stringbuilder that collects the id of the checked contacts in the list
    int visibleItemCount = contactAdapter.getCount(); 
    for (int i = 0; i < visibleItemCount; i++) { // iterating the visible and checked contacts of the list
        ContactItem contactItem = contactAdapter.getItem(i);
        if (contactItem.isChecked()) {
            mailboxIds.append(contactItem.getId() + ","); // creating a coma-seperated string with the ideas for the later query
        }
    }

    mailboxIds.replace(mailboxIds.length() - 1, mailboxIds.length(), ""); // removing the last coma from the list
    ContentResolver contentResolver = getActivity().getContentResolver();
    ContentValues contentValues = new ContentValues();
    contentValues = new ContentValues();
    if(toMailbox){ // if all selected contacts should go to the mailbox
        contentValues.put(Contacts.SEND_TO_VOICEMAIL, 1);
    }else{ // if all selected contacts should not go to the mailbox
        contentValues.put(Contacts.SEND_TO_VOICEMAIL, 0);
    }
    contentResolver.update(Contacts.CONTENT_URI, contentValues, BaseColumns._ID + " IN (" + mailboxIds + ")", null); // updating all contacs of the selected ids

この文字列バッファでホワイトリストの ID を収集し、contentValues を contentValues.put(Contacts.SEND_TO_VOICEMAIL, 1) に設定し、コードを NOT IN (

于 2013-09-13T12:08:15.487 に答える