티스토리 뷰
[Android] 알람 링톤 (Alarm Ringtone) 선택하기
알람의 벨소리(링톤) 을 선택하고 싶을 때 참고하세요.
DialogPicker를 startActivityForResult()로 호출 하고
해당 Dialog 에서 선택된 Ringtone 의 Uri 를 onActivityResult() 콜백 함수에서 받아온다.
onActivityResult() 콜백 함수 내에서 999 호출 되었을때
선택된 Ringtone 의 URI 를 저장하거나 해당 링톤을 재생하거나 원하는 대로 코딩하면 됩니다.
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); } @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; } } }
# intent 에서 아래의 옵션을 설정 하여 보여주고싶은 Alarm Ringtone 의 목록 설정
Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER); intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "Select ringtone"); intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, false); intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, true); // 아래 4가지중 선택 // intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_ALL); // intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_ALARM); // intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_NOTIFICATION); intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_RINGTONE);
'Computer > Android' 카테고리의 다른 글
[Android] 버튼 눌림 효과 (Button / ImageView) (0) | 2016.10.23 |
---|---|
[Android] User-permission (권한설정) (0) | 2016.10.03 |
[Android] Touch Drag 속도에 따라 동작 달리하기 (VelocityTracker) (0) | 2016.09.23 |
[Android] String 을 int 로, int를 String으로 변환 (0) | 2016.09.14 |
[Android] code내에서 동적으로 setTextSize (0) | 2016.03.25 |
댓글