1

알림에 대한 진동을 비활성화하고 싶지만 제대로 작동하지 않습니다. 알림 소리를 들려주고 싶지만 전화가 진동하면 안됩니다. 여기 내 코드입니다 :알림에서 진동 제거

audioManager.setStreamVolume(AudioManager.STREAM_NOTIFICATION, 2, 0); 
audioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL); 
audioManager.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, AudioManager.VIBRATE_SETTING_OFF); 
audioManager.setVibrateSetting(AudioManager.VIBRATE_TYPE_NOTIFICATION, AudioManager.VIBRATE_SETTING_OFF); 

하지만 기본 사운드 설정, 휴대폰이 진동을 사용하는 메시지 또는 기타 알림을받을 때. 누군가 내 목표를 달성하는 방법을 말해 줄 수 있습니까?

+0

나는 동일한 문제가 있으며 해결할 수 없습니다. 너 어디? 이것은 안드로이드 프로그래밍에서 실제로 구멍이 있습니다. (다른 많은 사람들처럼) – Ton

+0

@ 톤 없음,이 문제를 해결할 수 없었습니다. –

+0

http://stackoverflow.com/questions/24008764/disable-vibration-for-a-notification이 지금 고쳐주세요. –

답변

-1

제 생각에는 직접 AudioManager을 사용하면 안됩니다. 대신, Notification APIs를 사용 : 당신이 알림 코드에서 "setDefaults(Notification.DEFAULT_ALL)" 사용하기 때문에 당신이 중지해야합니다, 그래서 만약 그들이 멈추지 않을 생각

notification.defaults |= Notification.DEFAULT_VIBRATE; 
+0

다른 응용 프로그램에 대한 알림을 위해 작동합니까? 알림을 만들지 않고 모든 알림에 진동을 사용하지 않기를 원합니다. –

+0

기기를 자동 모드로 설정하지 않는 한 모든 앱 알림에 대해 진동을 사용 중지 할 수 없습니다 (이를 위해'audioManager.setRingerMode (AudioManager.RINGER_MODE_SILENT) ;). 하지만 자동 모드를 무시하고 진동을 사용하는 앱이 있습니다 (대부분 사용자 설정을 따릅니다). – ozbek

+0

알림을 위해이 설정을 변경하려면이 설정은 사용자의 설정을 따르는 응용 프로그램에서만 작동합니다. 하지만 사용자가 알림 신호를 듣기를 원하지만 진동은 사용하지 못하게하고 코드는 작동하지 않으며 이유를 모르겠습니다. –

-1

당신은 진동 코드 형태 알림 API를 제거해야합니다 진동 및 소리가이 줄을 제거하거나 기본 소리를 사용하고 진동을 멈추어야 할 경우 setDefaults(Notification.DEFAULT_SOUND) 등을 사용해야합니다.

+0

자신의 알림에 대해 이야기하는 것이 아닙니다. – Ton

0

:

if (isVibrationEnabled) { 
    notification.defaults |= Notification.DEFAULT_VIBRATE; 
}