다음 코드 줄을 사용하여 전화가 수신 될 때 전화 벨소리 모드를 RINGER_MODE_SILENT (으)로 변경하려고합니다. Android : 벨소리 모드를 무음으로 변경해도 진동이 멈추지 않습니다.
AudioManager am = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
am.setRingerMode(AudioManager.RINGER_MODE_SILENT);
전화 정지는
RINGER_MODE_SILENT의 문서 그것은 또한 진동을 중지해야한다고 말했습니다하지만 진동이 계속 울리는 동안.
나는 SDK 1.6
UPDATE를 사용하고 있습니다 : 아직 해결책을 찾지 못했습니다으로
, 나는 수동 진동 설정을 비활성화했습니다.
am.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, AudioManager.VIBRATE_SETTING_OFF);
그러나 이것은 또한 전화가 들어올 때 전화 모양이 진동하는 것을 방지하지 못합니다.
아이디어가 있으십니까?
UPDATE 2
오늘 I는 진동 객체를 통해 진동을 상쇄하여 문제를 해결하는 것을 시도했다.
Vibrator vib = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
vib.cancel();
다시 성공. 지금 나는 아이디어가 부족하고 진동을 멈추는 것이 가능한지 스스로에게 묻습니다.
UPDATE 3 : 나는 내가 documentation of the Vibrator class을 다시 읽고 한 또 다른 흥미로운 사실을 발견했습니다
. 설명서에 표시되는 내용은 다음과 같습니다.
"프로세스가 종료되면 진동이 시작되어 시작됩니다."
마치 진동이 시작된 프로세스에 연결되어 있고 다른 프로세스에서 액세스 할 수없는 것처럼 들립니다.