나는 임무가있다 - 전화가 울릴 때 즉시 벨소리 볼륨을 변경하십시오. 예를 들면 다음과 같습니다. 수신음이 들리면 벨소리 볼륨을 0 (음소거)으로 설정하고 진동기도 사용 중지해야합니다 (이미 사용 중지되지 않은 경우). 그런 다음 다른 코드 (startComputing();)를 수행해야 할 때가 지연됩니다. 그 후에 벨소리 볼륨을 특정 값 (f.e.7)으로 변경하고 바이브레이터를 활성화해야합니다. 여기 내 코드 :들어오는 호출 중 setRingerMode - RINGING
public class IncomingCallReceiver extends BroadcastReceiver {
private AudioManager amanager;
public void onReceive(Context context, Intent intent) {
if(intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(TelephonyManager.EXTRA_STATE_RINGING)) {
amanager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
amanager.setRingerMode(0x00000000); // no sound and no vibration
startComputing();
amanager.setRingerMode(0x00000002); // normal
amanager.setStreamVolume(AudioManager.STREAM_RING, 7,
AudioManager.FLAG_SHOW_UI
+ AudioManager.FLAG_PLAY_SOUND);
}
}
private void startComputing() {
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
1)의 주요 문제가 있음이 후 : amanager.setStreamVolume (AudioManager.STREAM_RING, 7 AudioManager.FLAG_SHOW_UI AudioManager.FLAG_PLAY_SOUND +); 벨소리 울림이 전혀 발생하지 않고 사운드 레벨이 변경되었지만 전화에서 소리가 나지 않는 토스트 메시지 만 나타납니다. 어떻게 바꿀 수 있습니까? 2) 또한 문제가 있습니다. amanager.setRingerMode (0x00000000); 볼륨과 진동은 즉시 변하지 않지만 약 0.5 초 만에 변합니다. 사전 감사합니다. Jacob
그 해결책은 무엇입니까? – Rizon