给联系人设置指定的铃声怎么弄呀,铃声在raw文件夹里, 求相关源码,高分答谢...

解决方案 »

  1.   

    没有大牛么? 当程序走如下逻辑, mContactId为联系人ID, path为铃声路径,cnt最后输出为1, 但是联系人的来电铃声没有发生改变,哪里出问题了,请大牛们指点...     Cursor cur = this.getContentResolver().query(uri, null, MediaStore.MediaColumns.DATA + "=?", new String[] {path}, null);
              Cursor cur = this.getContentResolver().query(uri, null, MediaStore.MediaColumns.DATA + "=?", new String[] {path}, null);
          if(cur.moveToFirst() && cur.getCount() > 0){
          
            String _id = cur.getString(0);
               values.put(MediaStore.Audio.Media.IS_RINGTONE, true);                  values.put(MediaStore.Audio.Media.IS_NOTIFICATION, false);
               values.put(MediaStore.Audio.Media.IS_ALARM, false);
               values.put(MediaStore.Audio.Media.IS_MUSIC, false);
               getContentResolver().update(uri, values, MediaStore.MediaColumns.DATA + "=?",new String[] {path});
               newUri = ContentUris.withAppendedId(uri, Long.valueOf(_id));
            String mCustomRingtone = newUri.toString();
            ContentValues valuess = new ContentValues();
         values.put(Contacts.CUSTOM_RINGTONE, mCustomRingtone);
        
         int cnt = getContentResolver().update(Contacts.CONTENT_URI, valuess, Contacts._ID + " = " + mContactId, null) ;
        
                      }