¿Puedo saber quién está cambiando el volumen multimedia de Android?

Recientemente, el volumen multimedia de mi teléfono se cambiará automáticamente a un valor fijo en un período. Supongo que hay una mala aplicación ejecutándose en segundo plano o por alarma haciendo esto, pero no tengo idea de cuál es el convicto.

¿Hay alguna manera de informarme quién está cambiando el volumen de medios del sistema? Mi dispositivo es un HTC Butterfly 3 con la ROM oficial de Android 5.0.2 y el ahorro de energía no está activado (en caso de que sea importante). ¡Gracias!

Necesita saber qué dispositivo está utilizando. Además, ¿tiene activada la función "Ahorro de energía" en su dispositivo? (No puedo decirle cómo verificar ya que no indicó qué dispositivo está usando). Si sabe cómo activar/desactivar la función "Ahorro de energía" en su dispositivo, intente APAGARLO y ver si su volumen se apaga automáticamente. establecerse de nuevo.

Respuestas (1)

En mi COS12 (Android 5.0.2), noté que cada vez que se cambiaba el volumen, se transmitía una intención con acción android.media.VOLUME_CHANGED_ACTIONy eso era todo lo que podía ver usando dumpsys o . Los extras en esa intención no contenían nada útil para rastrear la aplicación.

De todos modos. Lo siguiente es lo que puedo recomendar como un enfoque y a partir de ahora:

Instale aSpotCat 1 , desmarque Ignorar aplicaciones del sistema en su configuración y, en Lista de aplicaciones con permiso, navegue hasta la sección Configuración de audio . Esta aplicación perdió algunas aplicaciones del sistema de las que se encargó mi respuesta aquí 2 .

(Haga clic en la imagen para ampliar)

IMG:

Le sugiero que verifique Ver el nombre completo del paquete de la aplicación. y descubra el nombre del paquete de todas las aplicaciones enumeradas por aSpotCat. Después de eso, desinstale todas las aplicaciones instaladas por el usuario involucradas. Dado que la eliminación puede no ser una opción preferible para usted, puede considerar ocultarlos/bloquearlos. Configure en la PC y haga:

adb shell pm bloque PAQUETE # para KitKat
adb shell pm ocultar PAQUETE # para Lollipop

PAQUETE debe ser reemplazado por el nombre del paquete de la aplicación. En resumen, el efecto observado de ese comando es similar a eliminar una aplicación de su sistema operativo con la gran diferencia de que los datos y el UID de la aplicación se conservarán .

Para restablecer la aplicación, reemplace ocultar por mostrar y bloquear por desbloquear en los comandos mencionados anteriormente.

Tendría que esperar y observar si el volumen cambia. En caso afirmativo, oculte/bloquee/elimine las aplicaciones instaladas por el usuario de forma individual o en bloque y luego vuelva a entrar en el modo de observación. Si todas las aplicaciones instaladas por el usuario se eliminan pero se puede observar el cambio en el volumen de medios, entonces una aplicación del sistema está involucrada en el proceso. Si tiene instalada una personalizada o está listo para el dispositivo de fábrica, solo entonces debe considerar ocultar/bloquear/desactivar una aplicación del sistema enumerada por aSpotCat, ya que la estabilidad del sistema operativo puede verse afectada.

Como ya habrá adivinado, esta es una solución complicada, se basa en prueba y error y no garantiza mucho que pueda identificar la aplicación. Sin embargo, no creo que haya ninguna forma de identificar fácilmente la aplicación que afecta el volumen de medios.


1 Puede probar cualquier aplicación de verificación de permisos. La útil lista mantenida por el usuario Izzy en su sitio web puede ser útil.
2 Ingrese el permiso android.permission.MODIFY_AUDIO_SETTINGS .

Con ADB, uno también podría considerar adb uninstall -k <package_name>asegurarse de que la aplicación se haya ido pero no sus datos ( -k= "mantener datos"). Entonces, si resulta que una aplicación desinstalada no fue la culpable, se puede volver a instalar .apkusando adb install -r <file>. O, si la aplicación no optó por no participar, use adb backup -apk -f <file.ab> <package_name>, luego desinstálela y adb restore <file.ab>si la aplicación fue declarada "no culpable";) ¡+1 para la respuesta completa!