1
Android 프로그램에서 전화의 벨소리를 설정하려고합니다. 아래 코드를 한 번 실행하면 벨소리가 올바르게 설정되고 정상적으로 작동합니다. 그러나 코드를 두 번 이상 실행하면 벨소리가 무음이됩니다. 이것을 알아내는 데 도움이 될 것이고 매우 감사 할 것입니다.전화 벨소리 설정 문제
void setRingtone() {
//File path = Environment.getExternalStorageDirectory();
//File file = new File(path, "ringtone.mp3");
File file = new File("/sdcard/", "ringtone.mp3");
Uri mUri = Uri.parse("android.resource://com.*****.*****/" + R.raw.*****);
ContentResolver mCr = getContentResolver();
ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.DATA, file.getAbsolutePath());
values.put(MediaStore.MediaColumns.TITLE, "my ringtone");
values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/oog");
values.put(MediaStore.MediaColumns.SIZE, file.length());
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, true);
values.put(MediaStore.Audio.Media.IS_ALARM, true);
values.put(MediaStore.Audio.Media.IS_MUSIC, false);
Uri uri = MediaStore.Audio.Media.getContentUriForPath(file.getAbsolutePath());
Uri newUri = mCr.insert(uri, values);
try {
RingtoneManager.setActualDefaultRingtoneUri(getApplicationContext(), RingtoneManager.TYPE_RINGTONE, newUri);
} catch (Throwable t) {}
}