본문 바로가기
개발/안드로이드

안드로이드 벨소리 설정하기

by darksilber 2012. 2. 6.
반응형
출처 - http://www.mfamstory.com/

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 좀 남겨주세요 !!!

반응형

댓글