Android 安卓:铃声模式改为静音模式';Don’别让电话停止震动

Android 安卓:铃声模式改为静音模式';Don’别让电话停止震动,android,android-audiomanager,vibration,Android,Android Audiomanager,Vibration,我正在尝试使用以下代码行,在来电时将手机的铃声模式更改为ringer_mode_SILENT AudioManager am = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE); am.setRingerMode(AudioManager.RINGER_MODE_SILENT); 当手机停止响铃时,它会继续振动,尽管文件上说它也应该停止振动 我正在使用SDK 1.6 更新: 由于我还没有找到解决方案,我尝试手动停用振动设置

我正在尝试使用以下代码行,在来电时将手机的铃声模式更改为ringer_mode_SILENT

AudioManager am = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
am.setRingerMode(AudioManager.RINGER_MODE_SILENT);
当手机停止响铃时,它会继续振动,尽管文件上说它也应该停止振动

我正在使用SDK 1.6

更新:

由于我还没有找到解决方案,我尝试手动停用振动设置

am.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, AudioManager.VIBRATE_SETTING_OFF );
但这也不能防止来电时手机振动

有什么想法吗

更新2:

今天我试图通过一个振动物体消除振动来解决这个问题

Vibrator vib = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
vib.cancel();
再一次,没有成功。现在我已经没有什么想法了,我在问自己是否有可能停止振动

更新3:

当我重读这本书时,我发现了另一个有趣的事实。文件说:

“如果进程退出,任何振动 你从一开始就会停止。”


对我来说,这听起来好像振动与启动它的过程相关联,并且不能从另一个过程访问

我也无法关闭此功能

我使用了
AudioManager
setVibrationSetting()
,插入了
AudioManager.Vibration\u TYPE\u NOTIFICATION
和0,但当收到文本消息时,它仍然会振动

我想知道现在是否有办法完全覆盖此功能


我认为振动器的
cancel()
方法适用于当前正在进行的振动。

对不起,这是手机应用程序中已知的错误;它当前不收听
AudioManager.RINGER\u MODE\u CHANGED\u ACTION
广播(这将告诉它停止振铃和振动)。我建议您在提交一个bug。

您尝试过权限吗?SDK说明:允许应用程序修改全局音频设置