¿Es posible que la aplicación active o desactive la función de rotación automática?

17

Estoy harto de tener que activar la rotación automática cada vez que uso Google Maps para la navegación. No sé por qué no se trata simplemente de un paisaje como aplicaciones como Youtube.

¿Hay alguna manera de que active la rotación automática SOLO para Google Maps y no para cualquier otra aplicación?

¿Existe una aplicación que haga esto o de alguna manera la programe en Tasker?

Disco duro
fuente
@Firelord: sí, normalmente estoy en modo vertical, pero cuando quiero usar Google Maps Navigation, lo quiero en autorotate. Tener mapas de Google en rotación automática sería aceptable si no puede aislar la parte de navegación.
Diskdrive

Respuestas:

22

Esta solución requiere que Tasker esté instalado y habilitado. Probado en Android 4.2.1, 4.4.2, 5.0.2 y 5.1.1.

  1. Cree un perfil con Aplicación → Mapas
  2. Crear una acción en virtud de tareas del perfil anterior como + → Pantalla → Pantalla Autorotar y Set a On .
  3. Habilitar perfil y Tasker.

Abra Maps y oriente su dispositivo en modo horizontal, Maps lo seguirá. Cierre los mapas y el dispositivo volverá a la posición vertical.

¡Disfrutar!


O

Inicio de edición: 06/06/2015

Hay una manera de forzar al sistema a pasar al modo horizontal cambiando un valor en settings.db. (Probado en Android 4.2.1, se requiere root solo en esta edición).

  1. Cree un perfil con Aplicación → Mapas .
  2. Cree una acción en Tarea del perfil anterior como + → Código → Ejecutar Shell e ingrese los siguientes detalles:

    • Comando :settings put system user_rotation 1
    • Marque Usar raíz .
  3. Cree otro perfil con el inverso de Aplicación → Mapas .
  4. Cree una acción en Tarea del perfil anterior como + → Código → Ejecutar Shell e ingrese los siguientes detalles:

    • Comando :settings put system user_rotation 0
    • Marque Usar raíz .
  5. Habilita tanto Perfiles como Tasker.

Los mapas ahora pasarán automáticamente al modo horizontal, independientemente de la orientación manual de su dispositivo. Una vez que lo cierre, el dispositivo volverá al modo Retrato. (Tenga en cuenta que OP tiene la función de rotación automática desactivada, por lo que debería funcionar).

Esta edición está destinada a usuarios como yo que en dispositivos lentos tienen que esperar a que la aplicación siga su orientación. :)

¡Disfrutar!

O

La desventaja en el último método es que en algunos dispositivos la aplicación se abrirá primero en modo vertical y luego forzará el cambio al modo horizontal. Sin embargo, la aplicación se puede iniciar directamente en modo horizontal mediante el uso de un acceso directo a la aplicación. Tasker lo permite y lo usaremos.

  1. Vaya a su iniciador predeterminado → Widgets y elija Atajo de tarea .
  2. Seleccione Nueva tarea → asígnele un nombre.
  3. Cree una acción como + → Código → Ejecutar Shell e ingrese los siguientes detalles:

    • Comando :settings put system user_rotation 1
    • Marque Usar raíz .
  4. Cree otra acción como +Aplicación → Iniciar aplicación → seleccione Mapas .
  5. Para cambiar el ícono del atajo, toque el ícono cuadrado 3x3 (en la parte inferior de la ventana Atajo de tareas ) y elija el ícono.
  6. Ahora verá un acceso directo con el icono que seleccionó en el paso 4 y el nombre elegido en el paso 2.
  7. Cree un perfil en Tasker con el inverso de Aplicación → Mapas .
  8. Cree una acción en Tarea del perfil anterior como + → Código → Ejecutar Shell e ingrese los siguientes detalles:

    • Comando :settings put system user_rotation 0
    • Marque Usar raíz .
  9. Habilita tanto Perfiles como Tasker.

¡Ahora disfruta del modo automático forzado!

Edición cerrada: 06/06/2015


Para personas que son nuevas en Tasker

  1. Lanzamiento Tasker. (Tenga en cuenta que una vez que haya terminado de cambiar algo en Tasker, toque la tecla Atrás una vez. Tasker cambiará / cerrará la ventana activa y guardará la configuración).
  2. En la pestaña PERFILES, toque +Aplicación → elija MapasNueva tareaasígnele un nombre y toque el icono derecho.

    Algunas versiones de Android pueden solicitarle que habilite el servicio de accesibilidad de Tasker. Hágalo siguiendo las instrucciones allí y vuelva a Tasker.

    Este paso crearía un perfil que se activará cada vez que el usuario inicie Maps.

  3. Ahora estamos bajo la tarea nombrada (dentro de la pestaña TAREAS). Toque +Pantalla → Mostrar rotación automática → elija Ondebajo de Establecer .

    Aquí estamos creando una acción que se ejecutará una vez que se active el perfil.

  4. Regrese a la pantalla principal de Tasker y verá un perfil con el nombre de la aplicación Maps y marcado como Activado .
  5. Minimice el Tasker y verá su icono en la barra de notificaciones. Se dirá No active profile. El mensaje cambiará una vez que inicies Maps.
  6. Bueno, inicie Maps y vea la magia. Oriente su dispositivo y Maps hará lo mismo. Cierra los mapas y el dispositivo volverá al modo vertical.
  7. Siempre puede detener este comportamiento deshabilitando o eliminando el perfil en Tasker. También puede ocultar el icono de notificación de Tasker a través de su configuración.

¡Disfruta de Maps ahora!

Señor del fuego
fuente
amigo, esto es exactamente lo que estaba buscando. aplausos por eso!
Diskdrive
3
Estoy avergonzado, señor del fuego! Por lo general, soy yo quien trae a Tasker para jugar. Esta vez tenía una aplicación diferente en mente, y los usuarios de Tasker (como yo) ni siquiera la necesitarían. Así que definitivamente obtuviste un +1 de mí :) Y veré para traer mi respuesta alternativa, sin embargo, ya que Tasker es a) no gratuito yb) a menudo demasiado abrumador para los novatos;)
Izzy
@ Izzy Gracias! Y espero (como siempre) una solución elegante para todos, desde usted. La razón por la que no extendí los pasos de Tasker a más detalles es porque OP está al tanto de Tasker. Sin embargo, esto es un error en mi parte desde un lector futuro podría no ser consciente de Tasker de know-how . Conjetura, debería escribió como este para facilitar siguiente. :)
Firelord
No hay críticas para usted (aunque estoy de acuerdo en que los pasos más detallados pueden ser útiles para otros usuarios , veo por qué no fueron necesarios aquí). Estaba golpeándome la cabeza sin haber pensado en eso :)
Izzy
1
¡Guauu! Un voto negativo! Esta respuesta no puede fallar , entonces ¿por qué ha recibido un voto negativo? Considere explicar por favor, respetado downvoter.
Señor del fuego
5

Si está rooteado (y probablemente no usa lollipop), también puede usar la configuración de la aplicación del módulo xposed .

Abra el módulo, busque y abra Mapas y vaya a la sección Orientación y seleccione "auto-rotar". Esto lo obligará a girar automáticamente.

Jaskaranbir Singh
fuente
Las características parecen prometedoras, pero ¿hay alguna manera de saber cómo este módulo obliga a una aplicación a permanecer en un modo? Si solo puedo emular esto en Tasker, uno se puede guardar desde el enrutamiento, o la configuración requiere root. ¡NO SÉ!
Señor del fuego
1
Lo siento, necesitaría estudiar su código fuente (que no tengo), por lo que aún no puedo decir cómo funciona exactamente: / Por cierto, aquí está el código fuente para él-> repo.xposed.info/module/de.robv.android .xposed.mods.appsettings :)
Jaskaranbir Singh
1
+1 En comparación con mi respuesta, "Rotación automática forzada" es un gran problema, pero un poco estrelló la temperatura de la CPU . ;)
Firelord
3

Además de la solución Tasker de Firelord (que prefiero sobre todas las demás mencionadas en esta publicación, pero Tasker es a) no gratuito yb) a menudo un poco abrumador para los novatos especialmente) y la configuración de la aplicación de Jaskaranbir (como Tasker , Xposed es a menudo un poco demasiado para algunos), hay una tercera opción disponible, llamada PerApp . Admitido, no se ha actualizado por un tiempo, pero podría ser más fácil de usar. Antes de JellyBean (<4.1), ni siquiera requiere root para ajustar la rotación de la pantalla. También tiene varias otras configuraciones cubiertas, por lo que es posible que desee echarle un vistazo.

Izzy
fuente
Precisamente porque muchas de esas aplicaciones no están actualizadas desde 2013, le pregunté a OP por su dispositivo y la versión de Android para que una buena recomendación pudiera responder. Supongo que OP ya está contento con Tasker. :) // Dicho esto, ¿puedo forzar una aplicación en modo horizontal a través de Tasker? Miré AndroidManifest.xmlde Maps pero IDT vi algo útil.
Señor del fuego
1
Soy consciente de que el OP favorece la solución Tasker (al igual que yo). Mi respuesta fue solo una adición para los futuros visitantes que buscan "algo fácil" :) Y no, no jugué con la orientación en Tasker, así que no puedo decirlo. Sea bienvenido a revisar mi colección de recursos de Tasker , puede haber algunos procedimientos o complementos disponibles :)
Izzy
PerApp no ​​funcionó para mí (Android Marshmallow)
marzo
3

Puede usar una aplicación llamada Establecer orientación por "Proyecto sin ojos". No requiere root y puede forzar a cualquier aplicación a rotar a cualquier orientación y también solo paisaje y reversa horizontal según el sensor. Es ligero y también gratis. Está disponible en Google Play Store.

Editar: Use Rotación - Gerente de orientación en lugar de "Pranav Pandey". Es totalmente compatible con Lollipop, es gratuito y no requiere root. Esta aplicación también tiene configuraciones por aplicación que la aplicación anterior no tenía.

PSP
fuente
+1. "Establecer orientación" no cumple con el requisito de la pregunta porque impone la orientación en todo el sistema. Por otro lado, "Rotación - Gerente de orientación" hace el trabajo bien para cada aplicación. Sin embargo, no fue fácil en mi dispositivo (dispositivo antiguo) pero hace el trabajo.
Señor del fuego
1

La versión gratuita de MacroDroid también puede hacer el trabajo, aunque todavía prefiero la solución con Tasker .

  1. Instala y ejecuta MacroDroid .
  2. Toque Agregar macro → Iniciador de aplicación / Cerrado → Aplicación iniciada → Aceptar → seleccione sus aplicaciones para la rotación automática → Aceptar .
  3. En Agregar acciones , toque Rotación automática activada / Desactivada → Rotación automática activadaAceptar → continuar.
  4. Ignorar Agregar restricciones → continuar y nombrar la macro como Auto Rotate On.
  5. Cree otra macro usando Agregar macro → Iniciador de aplicación / Cerrado → Aplicación cerrada → Aceptar → seleccione las aplicaciones que eligió en el paso 2 → Aceptar .
  6. En Agregar acciones , toque Rotación automática activada / Desactivada → Rotación automática desactivada → Aceptar → continuar.
  7. Ignorar Agregar restricciones → continuar y nombrar la macro como Auto Rotate Off.

Eso es. Se logra la funcionalidad y puede probarla iniciando y cerrando las aplicaciones que seleccionó en los pasos anteriores.

Señor del fuego
fuente
1

La versión gratuita de AutomateIt también hace el trabajo.

  1. Instala y ejecuta AutomateIt.
  2. En el bloque Mis reglas , toque Agregar regla → Activador de estado de las aplicaciones → en Aplicación, toque los íconos de la lente y elija su (s) aplicación (es) → Siguiente .
  3. En la pestaña Acción , toque Activar / Desactivar rotación de pantalla → Activar rotación de pantalla → Siguiente → No → guardar la regla.
  4. Cree otra regla desde el bloque Mis reglas tocando Agregar regla → Activador de estado de aplicaciones → en Aplicación, toque los íconos de lentes y elija su aplicación (s) → desmarque Aplicación activadaSiguiente .
  5. En la pestaña Acción , toque Activar / Desactivar rotación de pantalla → Desactivar rotación de pantalla → No → guardar la regla.

Eso es. Se logra la funcionalidad y puede probarla iniciando y cerrando las aplicaciones que seleccionó en los pasos anteriores.

Señor del fuego
fuente
1

Y Tasker incluso le permite agregar condicionales, como si mi pantalla es así, haga esto, haga lo que sea. Entonces, en base a eso, se me ocurrió mi propia solución, que puede parecer un poco complicada, pero funciona para mí. Como mi dispositivo no está rooteado, los comandos de código de shell que requieren root no funcionarían de todos modos.

Sin embargo, con un bucle if else (podría reducirse aún más ya que inicialmente había agregado un código de depuración adicional), simplemente puede configurar AutoRotate en función del valor de Orientación. Entonces almacena esos dos valores en dos variables llamadas ROTATE y DISPLAY y al comienzo del bucle if, verifica DISPLAY usando una expresión regular (tuve que hacer eso porque, por cualquier razón, el valor de orientación seguía saltando entre el paisaje y el reverso del paisaje, por lo que Esta expresión regular se ocupa de ambos):

% DISPLAY ~ R paisaje (. *)?

Si esa es su configuración deseada, en ese bucle if o else puede configurar AutoRotate en Off . Además, también instalé un complemento Tasker llamado AutoInput que me permite bloquear los botones de inicio y retroceso, para salir puedo presionar el otro botón que abre todas mis ventanas abiertas y simplemente cerrar la aplicación Adobe Acrobat que es el desencadenante de este tarea.

¡Así que un gran Yay! para Tasker Y sí, sé que llego un poco tarde a la fiesta, pero bueno :)

Isaac
fuente