【问题标题】:How to set default custom ringtone to a specific contact如何为特定联系人设置默认自定义铃声
【发布时间】:2014-09-18 14:58:55
【问题描述】:

我有一个带有自定义铃声的联系人列表,我需要将特定联系人的铃声重置为默认值。

here 所述,在设置 CUSTOM_RINGTONE URI 时:“如果为 null 或缺失,则使用默认铃声。” 由于“put”不接受空值,我传递了空字符串(“”),如下面的代码所示,它运行并且似乎没问题(如果我去那个联系人,它在铃声字段中显示“默认”) .

但是当那个联系人来电时,手机应用程序崩溃了!

(如果我去那个联系人并手动设置默认值,再次 - 没有崩溃......)

如何将铃声字段设置为“null or missing”?

 private void ResetContactRingTone(String idOfContact) {
     try {

        Uri contactData = ContactsContract.Contacts.CONTENT_URI;
        String contactId = contactData.getLastPathSegment();
        Uri localUri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_URI, idOfContact);
        ContentValues localContentValues = new ContentValues();
        localContentValues.put(ContactsContract.Data.RAW_CONTACT_ID, contactId);
        localContentValues.put(ContactsContract.Data.CUSTOM_RINGTONE, ""); // <<----ho to set here "null or missing"?
        getContentResolver().update(localUri, localContentValues, null, null);
     }catch (Exception ex) {
         Log.e(TAG, "ResetContactRingTone failed, Excpetion: " + ex.getMessage());
     }          
 }

【问题讨论】:

    标签: android android-contacts


    【解决方案1】:

    找到解决方案:

    替换这个

    localContentValues.put(ContactsContract.Data.CUSTOM_RINGTONE, "");

    有了这个

    localContentValues.putNull(ContactsContract.Data.CUSTOM_RINGTONE);

    它有效!

    【讨论】:

      猜你喜欢
      • 2019-10-29
      • 1970-01-01
      • 2012-08-09
      • 2017-05-27
      • 1970-01-01
      • 2014-06-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多