tengo - quitar notificaciones permanentes android
Cómo desactivar los efectos de sonido predeterminados para todas mis aplicaciones o actividades (4)
Crea un archivo de tema "res / values / styles.xml"
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppBaseTheme" parent="android:Theme.Black.NoTitleBar">
<!--
Theme customizations available in newer API levels can go in
res/values-vXX/styles.xml, while customizations related to
backward-compatibility can go here.
-->
</style>
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
<item name="android:soundEffectsEnabled">false</item>
</style>
</resources>
Y luego haz referencia a él en tu "AndroidManifest.xml"
<application
...
android:theme="@style/AppTheme" >
En mi aplicación, estoy usando el grupo de sonido para el botón, haga clic en el efecto de audio. El problema es que si en la configuración del dispositivo está marcada "Selección audible", mis botones producirán dos sonidos: el del sistema uno y el mío al mismo tiempo.
Parece que si en cada una de las propiedades de los botones configuré "Efectos de sonido activados" en falso, ya no se escucha el sonido del sistema. Pero tengo muchos botones en una docena de actividades, además estoy agregando una matriz de botones en el código, por lo que es bastante inconveniente establecer "Efectos de sonido habilitados" en falso manualmente para cada uno de ellos. No estoy seguro de cómo hago esto en código ...
¿Hay alguna manera más global de detener la "selección audible" en mi aplicación o al menos para una actividad?
Podrías crear tu propia clase de botón y usar eso en los archivos de diseño XML ...
package com.mycompany.myApp
public class MyButton extends Button {
public MyButton (Context context, AttributeSet attrs) {
this.setSoundEffectsEnabled(false);
}
}
Luego, en el diseño XML, los archivos usan ...
<com.mycompany.myApp.MyButton
...
</com.mycompany.myApp.MyButton>
... para tus botones.
Puede crear una vista personalizada que se extienda desde el botón. Luego, simplemente establezca el efecto de sonido habilitado en falso en su creación.
http://developer.android.com/guide/topics/ui/custom-components.html
También puede ir más allá y hacer que la vista sepa qué nuevo sonido personalizado debería reproducirse.
Solo tuve el mismo problema para mi aplicación. Pude desactivar los comentarios de sonido globalmente al poner android:soundEffectsEnabled=false
en un tema.