Android Clickable AppWidget 禁用点击声音

Posted

技术标签:

【中文标题】Android Clickable AppWidget 禁用点击声音【英文标题】:Android Clickable AppWidget Disable Sound on Click 【发布时间】:2013-09-09 16:38:48 【问题描述】:

我有一个 AppWidget(我的应用程序的一部分)。当用户单击小部件中的按钮时,我希望没有声音。 我该怎么做?

【问题讨论】:

【参考方案1】:

CommonsWare 回答: 这不是 RemoteViews 上的方法,setSoundEffectsEnabled() 也不是 RemotableViewMethod,所以字面的答案是不正确的。但是,布局文件中的 android:soundEffectsEnabled="false" 可能会起作用。

在 xml 布局文件中设置 android:soundEffectsEnabled="false" 确实有效!

【讨论】:

【参考方案2】:

据我所知,您必须关闭通知声音(按下音量,然后选择设置)。点击声音通常由操作系统创建(三星 Android 会有点击,但谷歌 Nexus 不会)。我能想到的唯一其他方法是,如果小部件是您的,请创建一个覆盖该特定功能的自定义按钮。

【讨论】:

好吧,如果我可以直接访问视图,我可以: myButton.setSoundEffectsEnabled(false);但是,作为 RemoteViews,我认为这是不可能的。 不,我的意思是,您的应用程序的小部件部分(您开发了它)还是您试图静音其他人的小部件。 哦,AppWidget 是我的。它是我的应用程序的一部分。 setSoundEffectsEnabled(false) 并不总是有效,最好的办法是通过扩展 Button 并删除该功能来删除该功能。不过,您将需要进入该修复程序的源代码。 查看 CommonsWare 的回答。感谢您的帮助。【参考方案3】:

添加以下代码行禁用点击声音,

yourbutton.setSoundEffectsEnabled(false);

【讨论】:

我无法直接访问该视图,因为它是一个 AppWidget。 @NightlyNexus:这不是RemoteViews 上的方法,setSoundEffectsEnabled() 也不是RemotableViewMethod,所以字面上的答案是不正确的。但是,布局文件中的android:soundEffectsEnabled="false" 可能会起作用。 @CommonsWare 是的,做到了。我应该想到的哈哈。在 xml 中设置内容是使用 RemoteViews 的最佳方式。 很高兴解决了您的问题。感谢 @CommonsWare @CommonsWare 关于setSoundEffectsEnabled 我已在我的一个按钮上将其设置为false,但没有效果。它仍然会发出声音。在 Google Nexus 10 上测试

以上是关于Android Clickable AppWidget 禁用点击声音的主要内容,如果未能解决你的问题,请参考以下文章

java [TextView Clickable] #tags:Android

selector的使用,android:clickable="true"

Android-配置文件中设置“android:clickable="false"无效的原因及解决办法

Android中涉及到的焦点问题,focusable,clickable,enabled

Android Clickable AppWidget 禁用点击声音

android SwitchButton 和CheckBox 怎样设置不可点击,Clickable无效