我无法将音频文件设置为旧版设备的铃声我为新的Android版本编写的部分效果很好

问题描述

代码

ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.TITLE,k.getName());
values.put(MediaStore.MediaColumns.MIME_TYPE,"audio/mp3");
if (ringtoneManager.TYPE_ringtone == type) {
    values.put(MediaStore.Audio.Media.IS_ringtone,true);
} else if (ringtoneManager.TYPE_NOTIFICATION == type) {
    values.put(MediaStore.Audio.Media.IS_NOTIFICATION,true);
}
values.put(MediaStore.MediaColumns.SIZE,k.length());
values.put(MediaStore.MediaColumns.DATA,k.getAbsolutePath());
Uri uri = MediaStore.Audio.Media.getContentUriForPath(k.getAbsolutePath());
getContentResolver().delete(uri,MediaStore.MediaColumns.DATA + "?"" + k.getAbsolutePath() + "\"",null);
System.out.println("Uri string: "+uri.toString());  //Do you think the output I got here is normal? Output = content: // media / internal / audio / media
Uri newUri = setandsharejava.this.getContentResolver().insert(uri,values);
ringtoneManager.setActualDefaultringtoneUri(setandsharejava.this,type,newUri);

k =文件

以我想要的名称设置铃声,但是在播放时,它会使用Android的认声音。

没有错误消息。

感谢您的关注。

我审核过的标题How to set ringtone in Android from my activity? Set a selected audio file as ringtone How to set a file as a ringtone for Android 10? Set a sound file as ringtone and notification programmatically in Android How can I change the ringtone in android programmatically? Set ringtone from res/raw folder How can I set a ringtone for an individual contact on Android?

更多...

解决方法

我努力解决了问题。 问题是我试图从应用程序的缓存中获取音频文件。 将音频文件刻录到sdcard分区后,效果很好。