안드로이드 개발 질문/답변
(글 수 45,052)
일단 제가 개발했던 환경은 2.1이였는데요
음원을 다운받아서 벨소리로 셋팅 해주는 어플이였습니다.
2.2 단말기까지는 모든 어플에서 셋팅도 잘되고 껏다가 켜도 아무 이상이 없었습니다.
헌데 2.3 넥s에서는 껏다가 키면 셋팅되었던 벨소리가 셋팅이 풀려버립니다.
제 생각엔 라이브러리 소스상에 변경이 있지 않았나 싶은데 어떻게 알아봐야 어떻게 풀어가야 될지 모르겠네요.
현제 재가 벨소리 설정을 하는 코드는 아래와 같습니다.
ContentValues values = new
ContentValues();
values.put(MediaStore.MediaColumns.DATA, k.getAbsolutePath());
values.put(MediaStore.MediaColumns.TITLE, songTitle + mp_text);
values.put(MediaStore.MediaColumns.SIZE, k.length());
values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp3");
values.put(MediaStore.Audio.Media.ARTIST, artist);
values.put(MediaStore.Audio.Media.DURATION, myDuration);
values.put(MediaStore.Audio.Media.IS_RINGTONE, true);
values.put(MediaStore.Audio.Media.IS_NOTIFICATION, false);
values.put(MediaStore.Audio.Media.IS_ALARM, true);
values.put(MediaStore.Audio.Media.IS_MUSIC, false);
values.put(MediaStore.MediaColumns.DATA, k.getAbsolutePath());
values.put(MediaStore.MediaColumns.TITLE, songTitle + mp_text);
values.put(MediaStore.MediaColumns.SIZE, k.length());
values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp3");
values.put(MediaStore.Audio.Media.ARTIST, artist);
values.put(MediaStore.Audio.Media.DURATION, myDuration);
values.put(MediaStore.Audio.Media.IS_RINGTONE, true);
values.put(MediaStore.Audio.Media.IS_NOTIFICATION, false);
values.put(MediaStore.Audio.Media.IS_ALARM, true);
values.put(MediaStore.Audio.Media.IS_MUSIC, false);
Uri uri =
MediaStore.Audio.Media.getContentUriForPath(k
.getAbsolutePath());
// Insert it into the database
Uri newUri = BellSetActivity.this.getContentResolver().insert(uri,
values);
//벨소리 설정
RingtoneManager.setActualDefaultRingtoneUri(BellSetActivity.this,
RingtoneManager.TYPE_RINGTONE, newUri);
.getAbsolutePath());
// Insert it into the database
Uri newUri = BellSetActivity.this.getContentResolver().insert(uri,
values);
//벨소리 설정
RingtoneManager.setActualDefaultRingtoneUri(BellSetActivity.this,
RingtoneManager.TYPE_RINGTONE, newUri);
혹시 2.3 버전에서 변경해야 될부분나 새로운 부분이 있으면 가르쳐 주십시요.
2011.10.13 16:22:27
저도 똑같은 문제로 고민중에 있습니다.
근데 제경우에는 2.2까지는 위에 코드로 벨소리 리스트에 추가는 됫는데 소리는 안나오더군요
2.3에서는 리스트에 추가도 안되구요
어찌해야 하는지..
2011.10.13 17:40:09
해결됫습니다.
폴더를 String path="/sdcard/media/audio/ringtones/"; 로 하고
sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://"+path+filename)));
를 추가하니까 되네요 path를 "/sdcard/media/audio/ringtones/"로 해서 된건지
sendBroadcast를 추가해서 된건진 잘모르겟네요




ㅇ ㅏ........
저도 2.3 에서 벨소리 변경이 이상하게 되서 막혔네요...
ㅠㅠ 해결하셨나요???