마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 기본 벨소리 가져오기!! 질문 드립니다.

0 추천
안드로이드 기본 벨소리를 가져와야 하는데 어디 있는지를 찾지를 못하겠습니다. (사용자가 다운받은 mp3 파일 말고 기본 알람음 입니다. )

 

기본 알람을 맞추다 보면 기본 알림음 이라고 해서 A Toy Watch , Good Morning ,  GoodBye 같은 기본 알람음이 있습니다.

 

이것을 가져오고 싶은데 도저히 어디 있는지 안보입니다. 조언좀 부탁드리겠습니다.
jhmj (200 포인트) 님이 2013년 8월 19일 질문

2개의 답변

0 추천
단순 소리 플레이는 아래 소스를 사용하면됩니다.

 

Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
Ringtone r = RingtoneManager.getRingtone(getApplicationContext(), notification);
r.play();
프루군 (640 포인트) 님이 2013년 8월 23일 답변
0 추천

다음과 같이 하시면 될 것 같네요.

1. Picker를 startActivityForResult()로 호출

private void showRingtonePickerDialog() {
	Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
	intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "Select ringtone for notifications:");
	intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, false);
	intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, true);
	intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE,RingtoneManager.TYPE_NOTIFICATION);
	startActivityForResult(intent, 777);
}

2. onActivityResult() 콜백 함수에서 Uri 읽음.

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
	super.onActivityResult(requestCode, resultCode, data);
	if (resultCode == RESULT_OK) {
		switch (requestCode) {
		   case 999:
					Uri uri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
					if (uri != null) {
						String ringtonePath = uri.toString();
						Toast.makeText(getApplicationContext(), "ringtone="+ringtonePath, Toast.LENGTH_LONG).show();
					}
		   break;

		default:
		   break;
		}
	}
}

 

즐거운인생 (150 포인트) 님이 2013년 8월 23일 답변
...