package com.mfam.RingtoneTest;
import java.io.File;
import android.app.Activity;
import android.content.ContentValues;
import android.media.RingtoneManager;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.widget.Toast;
public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setRingtone();
}
private void setRingtone() {
String filepath = "/sdcard/media/audio/ringtones/testmusic4.mp3";
File file = new File(filepath);
try {
ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.DATA, file.getAbsolutePath());
values.put(MediaStore.MediaColumns.TITLE, "longlong4");
values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/*");
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 uri = MediaStore.Audio.Media.getContentUriForPath(file.getAbsolutePath());
getContentResolver().delete(uri, MediaStore.MediaColumns.DATA + "=\"" + file.getAbsolutePath() + "\"", null);
Uri newUri = getApplicationContext().getContentResolver().insert(uri, values);
RingtoneManager.setActualDefaultRingtoneUri(getApplicationContext(), RingtoneManager.TYPE_RINGTONE, newUri);
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(getApplicationContext(), "벨소리 설정에 실패했습니다.", Toast.LENGTH_SHORT).show();
return ;
}
Toast.makeText(getApplicationContext(), "벨소리 설정이 완료되었습니다.", Toast.LENGTH_SHORT).show();
}
}
==========================================================================================================
2틀동안 삽질해가면서 만들었습니다 !!! 구글님 고맙습니다 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
getContentResolver().delete(uri, MediaStore.MediaColumns.DATA + "=\"" + file.getAbsolutePath() + "\"", null); <-- 이 부분이 버그를 없애는 핵심포인트 !!!
부디 퍼가실때 출처 http://www.mfamstory.com 좀 남겨주세요 !!!
'개발 > 안드로이드' 카테고리의 다른 글
intent 로 데이터를 넘겨줄때 객체단위로 넘기는 방법 implements Parcelable (0) | 2012.02.06 |
---|---|
액티비티 생명주기(Activity Life Cycle) (0) | 2012.02.06 |
리스트뷰 드래그시 배경색 투명하게 처리하는 방법(ListView Drag Background Color) (0) | 2012.02.06 |
Android: Play PCM(.WAV) audio buffer using AudioTrack (0) | 2012.02.06 |
Touch Drag 속도에 따라 동작 달리하기 (VelocityTracker) (0) | 2012.02.06 |
댓글