Podrías hacerlo con Tasker . Esta aplicación relaciona las condiciones definidas con las tareas, es decir, puedes decirle que ejecute una tarea (que es un conjunto de acciones) siempre que se cumplan una(s) condición(es).
En condiciones se indica "Orientación".
Como acciones Por ejemplo, describe:
Vibrar al notificar: Si vibrar con una notificación del sistema.
Vibrar en el timbre: Si se debe vibrar al recibir una llamada.
Así que podría crear una tarea llamada, por ejemplo, NoVibrate que dice:
- Vibrar al notificar: Desactivado
- Vibrar en el timbre: Apagado
A continuación, cree dos perfiles FaceUp y FaceDown (no hay conexión "OR" posible con las condiciones, por lo que se necesitan dos perfiles), cada uno con la orientación respectiva, y hacer que ejecuten el NoVibrate tarea.
¿Qué ocurre entonces? Tan pronto como el teléfono se encuentra con la cara hacia arriba o hacia abajo (donde la "cara" es la pantalla), la vibración se desactiva. Y tan pronto como la orientación cambia, la configuración anterior se reactiva.
Problema resuelto con el solucionador de 6 letras de (casi) todos los problemas de Android: Tasker :)