如何设置自定义铃声以在android

时间:2015-12-23 23:39:20

标签: android

以下是我的代码,用于更新联系人并设置其成功运行的自定义铃声,但它无效,我使用的是API 9

        sound = new File(folder,SONG);
                ContentValues values = new ContentValues();
                values.put(MediaStore.MediaColumns.DATA, sound.getAbsolutePath());
                values.put(MediaStore.MediaColumns.TITLE, "1-800-hotlinebling");
                values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/*");
                values.put(MediaStore.Audio.Media.ARTIST, "Umair Ali");
                values.put(MediaStore.Audio.Media.IS_RINGTONE, true);
                values.put(MediaStore.Audio.Media.IS_NOTIFICATION, true);
                values.put(MediaStore.Audio.Media.IS_ALARM, true);
                values.put(MediaStore.Audio.Media.IS_MUSIC, true);
                values.put(ContactsContract.Data.RAW_CONTACT_ID, contactID);
                values.putNull(ContactsContract.Data.CUSTOM_RINGTONE);
                Uri localUri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_URI, contactID);
                getContentResolver().update(localUri, values, null, null);

1 个答案:

答案 0 :(得分:0)

在StackOverflow类似问题Setting contact custom ringtone, how?中,您会找到答案

  

我发现它是如何工作的。您可以在下面看到固定的代码:

    Uri contactData = ContactsContract.Contacts.CONTENT_URI;      String contactId = contactData.getLastPathSegment();
          Cursor localCursor = managedQuery(contactData, PROJECTION, null, null, null);       localCursor.move(120/*CONTACT ID NUMBER*/);

  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,
  f.getAbsolutePath()+"/Adventure.ogg");
  getContentResolver().update(localUri, localContentValues, null, null);      
  Toast.makeText(this, "Ringtone assigned to: " + str2, 0).show();
     

只需将联系人ID号码更改为您想要的联系人ID即可   变化

希望有所帮助