마스터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일 답변
...