0

我有一个应用程序,除其他外,它试图为单个联系人设置特定的声音。一切正常,当您查看联系人信息时,它会将声音显示为联系人的铃声,但当联系人来电时,默认铃声会响起。任何人都可以阐明什么是错的吗?

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode == RESULT_OK) {
        switch (requestCode) {
        case CONTACT_PICKER_RESULT:
            Uri contactData = data.getData();
            String contactId = contactData.getLastPathSegment();

            Cursor localCursor = managedQuery(contactData, null, null, null, null);
            localCursor.moveToFirst();

            String str1 = localCursor.getString(localCursor.getColumnIndexOrThrow("_id"));
            String str2 = localCursor.getString(localCursor.getColumnIndexOrThrow("display_name"));
            Uri localUri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_URI, str1);
            ContentValues localContentValues = new ContentValues();

            localContentValues.put(ContactsContract.Data.RAW_CONTACT_ID, contactId);
            localContentValues.put(ContactsContract.Data.CUSTOM_RINGTONE, ringtonePath);
            getContentResolver().update(localUri, localContentValues, null, null);
            Toast.makeText(this, "Ringtone assigned to: " + str2, 0).show();

            break;
        }
4

1 回答 1

0

万一有人偶然发现这个想知道如何实现这一点,我使用了 ringdroid 库的一部分来为联系人分配音调

https://github.com/google/ringdroid

于 2020-01-10T18:03:04.020 回答