1

弃用后getContentUriForPath()MediaStore.MediaColumns.DATA我修改了代码如下:

 private boolean SetAsRingtone(File k)
    {

        ContentValues values = new ContentValues();

        values.put(MediaStore.MediaColumns.TITLE, k.getName());
        values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp3");
        values.put(MediaStore.Audio.Media.ARTIST, R.string.app_name);
        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);

        Uri newUri=this.getContentResolver()
                .insert(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, values);

        RingtoneManager.setActualDefaultRingtoneUri(Emotes.this, RingtoneManager.TYPE_RINGTONE,
                newUri);

        return true;
    }

问题是设备的铃声没有改变。我可以从声音设置中看到它发生了变化,但是当电话响起时,会播放默认音乐。

知道如何解决这个问题吗?

4

0 回答 0