2014-06-19 1 views
2

안드로이드 폰의 자동 모드에서 기본 벨소리를 재생하고 싶습니까? 이 코드를 사용하고진동 모드에서 벨소리를 재생 하시겠습니까?

if(state.equals(TelephonyManager.EXTRA_STATE_RINGING)) {   
      Bundle bundle = intent.getExtras(); 
      phoneNumber = bundle.getString(TelephonyManager.EXTRA_INCOMING_NUMBER);            

      int maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_RING); 
      audioManager.setStreamVolume(AudioManager.STREAM_RING, maxVolume, 0); 

      Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE); 
      Ringtone r = RingtoneManager.getRingtone(mContext, notification); 
      r.play(); 
    }  

이 코드의 문제는 전화가 오면 벨소리가 재생되지만 전화가 절단 된 후 또는 정지 모드를

+2

당신이) (정지를 할 필요가없는? – JoaoFilipeClementeMartins

답변

0

사용이 코드를 재생 벨소리를 놓친 것입니다 당신 BroadcastRecieveronRecieve() 내부 :

Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE); 
Ringtone r = RingtoneManager.getRingtone(mContext, notification); 
if(state.equals(TelephonyManager.EXTRA_STATE_RINGING)) {   
    Bundle bundle = intent.getExtras(); 
    phoneNumber = bundle.getString(TelephonyManager.EXTRA_INCOMING_NUMBER);            

    int maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_RING); 
    audioManager.setStreamVolume(AudioManager.STREAM_RING, maxVolume, 0); 

    r.play(); 
}else{ 
    if(r.isPlaying()) r.stop(); 
} 
+0

코드에 의해 앱이 충돌하고 있습니다. –

+0

@ user3756346 여전히 충돌하고 있습니까? – SMR

+0

전화가 끊어진 후 앱이 깨졌습니다. –

관련 문제