2012-07-25 4 views
10

표준/주식 메신저를 대체 할 응용 프로그램을 작성 중입니다. 따라서 들어오는 메시지에 대한 기본 벨소리를 정의해야합니다. 들어오는 SMS 알림 벨소리를 의미합니다.들어오는 SMS에 대한 URI 현재/기본 벨소리를 얻는 방법은 무엇입니까?

누구나 얻는 방법을 알고 계십니까?

String defaultPath = Settings.System.DEFAULT_NOTIFICATION_URI.getPath(); 
+0

이러한 링크는 도움이 될 수 있습니다. http://stackoverflow.com/questions/3387556/incoming-call-dynamically-override-default-ringtone http://stackoverflow.com/questions/2092470/android-detect-which-ringtone - 실제로 - 재생 - 벨소리 - isplaying - 문제가 있습니까? rq = 1 –

답변

10

Ringtone ringtone = RingtoneManager.getRingtone(context, Settings.System.DEFAULT_RINGTONE_URI); 

을 사용자가 제공 벨소리를 기본 벨소리를 변경 한 경우 제 3 자 메신저 앱인 AFAIK는 타사 앱이 ContentProvider을 통해 벨소리를 공개하지 않는 한 새로운 벨소리에 액세스 할 수 없습니다.

+1

마시맬로와 함께 작동하지 않습니다 –

+0

마쉬멜로우 이후로 작동하지 않습니다 – sud007

11

RingtoneManager 사용, 기본 벨소리의 Ringtone 개체를 검색하려면 : 기본 알림 소리를 들어

2

Notification.Builder 또는 NotificationCompact.Builder 클래스를 사용하는 경우 빌더에서 setSound(Settings.System.DEFAULT_NOTIFICATION_URI)을 호출하면 트릭을 수행해야합니다.

알림이 표시 될 때 사용자가 선택한 기본 알림 음이 재생됩니다.

1

나를 도왔던 사람은 RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION)입니다.

+0

마시맬로와 함께 작동하지 않습니다 –