首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android:铃声模式改为静音不会停止手机振动

Android:铃声模式改为静音不会停止手机振动
EN

Stack Overflow用户
提问于 2010-04-13 18:39:30
回答 3查看 4.8K关注 0票数 10

我试图通过使用下面的代码行将电话的铃声模式更改为RINGER_MODE_SILENT。

代码语言:javascript
复制
AudioManager am = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
am.setRingerMode(AudioManager.RINGER_MODE_SILENT);

当电话停止响时,它会继续振动,尽管静默的文档显示它也应该停止振动。

我正在使用SDK1.6

更新:

由于我还没有找到解决方案,我试图关闭振动设置手动。

代码语言:javascript
复制
am.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, AudioManager.VIBRATE_SETTING_OFF );

但这也不能防止电话形式振动时,一个电话是来袭。

有什么想法吗?

更新2:

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

代码语言:javascript
复制
Vibrator vib = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
vib.cancel();

再一次,没有成功。现在我没有想法了,我问自己是否有可能完全停止振动。

更新3:

当我重读Vibrator类的文档时,我发现了另一个有趣的事实。文件上说:

“如果你的过程退出,你开始的任何振动都会停止。”

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

EN

回答 3

Stack Overflow用户

发布于 2010-05-01 20:43:48

对不起,这是手机应用程序中的一个已知错误;它目前不监听AudioManager.RINGER_MODE_CHANGED_ACTION广播(这将告诉它停止铃声和振动)。我建议在b.android.com注册一个bug。

票数 2
EN

Stack Overflow用户

发布于 2010-04-19 15:21:18

我也很难关掉这个功能。

我使用了AudioManager setVibrateSetting(),在AudioManager.VIBRATE_TYPE_NOTIFICATION和0中插入,但是当收到短信时它仍然会震动。

我想知道现在是否有一种方法可以完全覆盖这个特性。

我认为Vibrator的cancel()方法是为了目前正在进行的振动。

票数 0
EN

Stack Overflow用户

发布于 2012-03-20 15:42:31

你试过许可设置了吗?SDK说:允许应用程序修改全局音频设置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2632216

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档