Czy jest możliwe włączenie lub wyłączenie funkcji Auto-obracanie przez aplikację?

17

Mam dość włączania automatycznego obracania za każdym razem, gdy korzystam z Map Google do nawigacji. Nie wiem, dlaczego nie jest to automatycznie krajobraz jak aplikacje takie jak Youtube.

Czy jest sposób, aby włączyć automatyczne obracanie JUST tylko dla map Google, a nie dla żadnej innej aplikacji.

Czy istnieje aplikacja, która by to zrobiła lub jakoś zaprogramowała w Tasker?

Napęd
źródło
@Firelord: tak, zwykle jestem w trybie portretu, ale kiedy chcę korzystać z Nawigacji w Mapach Google, chcę to robić w trybie autorotate. Automatyczne mapy obracają się w Google, jeśli nie możesz wyodrębnić części nawigacyjnej.
Diskdrive

Odpowiedzi:

22

To rozwiązanie wymaga zainstalowania i włączenia Taskera . Testowane na Androidzie 4.2.1, 4.4.2, 5.0.2 i 5.1.1.

  1. Utwórz profil za pomocą aplikacji → mapy
  2. Utwórz akcję w obszarze Zadanie powyższego profilu jako + → Wyświetlacz → Wyświetl AutoRotate i ustaw na Włączone .
  3. Włącz profil i Tasker.

Otwórz Mapy i ustaw urządzenie w trybie poziomym, Mapy podążą za Tobą. Zamknij mapy, a urządzenie wróci do pionu.

Cieszyć się!


LUB

Edytuj początek: 06.06.2015

Istnieje sposób , aby zmusić system do przejścia w tryb Krajobraz, zmieniając wartość w settings.db. (Testowane na Androidzie 4.2.1, root wymagany tylko w tej edycji).

  1. Utwórz profil za pomocą aplikacji → mapy .
  2. Utwórz akcję w obszarze Zadanie powyższego profilu jako + → Kod → Uruchom powłokę i wprowadź następujące szczegóły:

    • Polecenie :settings put system user_rotation 1
    • Zaznacz Użyj roota .
  3. Utwórz kolejny profil z odwrotnością Aplikacja → Mapy .
  4. Utwórz akcję w obszarze Zadanie powyższego profilu jako + → Kod → Uruchom powłokę i wprowadź następujące szczegóły:

    • Polecenie :settings put system user_rotation 0
    • Zaznacz Użyj roota .
  5. Włącz zarówno profile, jak i Taskera.

Mapy automatycznie przejdą teraz w tryb poziomy, niezależnie od ręcznej orientacji urządzenia. Po zamknięciu urządzenie powróci do trybu pionowego. (Pamiętaj, że OP ma wyłączoną funkcję Auto-obracania, więc powinna działać.)

Ta edycja jest przeznaczona dla użytkowników takich jak ja, którzy na wolnych urządzeniach muszą czekać, aż aplikacja podąży za ich orientacją. :)

Cieszyć się!

LUB

Wadą ostatniej metody jest to, że na niektórych urządzeniach aplikacja najpierw otworzy się w trybie pionowym, a następnie wymusi przejście do trybu poziomego. Aplikację można jednak uruchomić bezpośrednio w trybie poziomym za pomocą skrótu do aplikacji. Tasker pozwala na to i wykorzystamy to.

  1. Przejdź do domyślnego programu uruchamiającego → Widżety i wybierz Skrót do zadania .
  2. Wybierz Nowe zadanie → nazwij je.
  3. Utwórz akcję jako + → Kod → Uruchom Shell i wprowadź następujące szczegóły:

    • Polecenie :settings put system user_rotation 1
    • Zaznacz Użyj roota .
  4. Utwórz kolejną akcję jako +Aplikacja → Uruchom aplikację → wybierz Mapy .
  5. Aby zmienić ikonę skrótu, dotknij kwadratowej ikony 3x3 (w dolnej części okna Skrótu zadania ) i wybierz ikonę.
  6. Zobaczysz teraz skrót z ikoną wybraną w kroku 4 i nazwą wybraną w kroku 2.
  7. Utwórz profil w Tasker z odwrotnością Aplikacja → Mapy .
  8. Utwórz akcję w obszarze Zadanie powyższego profilu jako + → Kod → Uruchom powłokę i wprowadź następujące szczegóły:

    • Polecenie :settings put system user_rotation 0
    • Zaznacz Użyj roota .
  9. Włącz zarówno profile, jak i Taskera.

Teraz korzystaj z wymuszonego trybu automatycznego!

Edycja zamknięta: 06.06.2015


Dla osób, które są nowe w Tasker

  1. Uruchom Tasker. (Pamiętaj, że gdy skończysz zmieniać coś w Tasker, naciśnij raz przycisk Wstecz. Tasker zmieni / zamknie aktywne okno i zapisze ustawienia).
  2. W zakładce PROFILE dotknij +Aplikacja → wybierz MapyNowe zadanie → nazwij coś i dotknij prawej ikony.

    Niektóre wersje Androida mogą prosić o włączenie usługi ułatwień dostępu Taskera. Zrób to, postępując zgodnie z instrukcjami tam zawartymi i wróć do Taskera.

    Ten krok utworzyłby profil, który będzie uruchamiany za każdym razem, gdy użytkownik uruchomi Mapy.

  3. Jesteśmy teraz pod nazwanym zadaniem (w zakładce ZADANIA). Dotknij +Wyświetlacz → Wyświetl AutoRotate → wybierz Onponiżej Ustaw .

    Tworzymy tutaj akcję, która zostanie wykonana po uruchomieniu profilu.

  4. Wróć do głównego ekranu Taskera, a zobaczysz profil z nazwą aplikacji Mapy i oznaczony jako Włączony .
  5. Zminimalizuj Tasker, a zobaczysz jego ikonę na pasku powiadomień. To powie No active profile. Wiadomość zmieni się po uruchomieniu Map.
  6. Uruchom Mapy i zobacz magię. Ustaw urządzenie, a Mapy zrobią to samo. Po zamknięciu map urządzenie powróci do trybu pionowego.
  7. Zawsze możesz zatrzymać to zachowanie, wyłączając lub usuwając profil w Tasker. Możesz także ukryć ikonę powiadomienia Taskera w jej ustawieniach.

Ciesz się Mapami już teraz!

Firelord
źródło
kolego, właśnie tego szukałem. na zdrowie!
Diskdrive
3
Wstydzę się, Władco ognia! Zwykle to ja wprowadzam Taskera do gry. Tym razem miałem na myśli inną aplikację, a użytkownicy Taskera (tacy jak ja) nawet tego nie potrzebowaliby. Zdecydowanie więc zarobiłeś ode mnie +1 :) A jednak zobaczę, że przyniosę moją alternatywną odpowiedź, ponieważ Tasker jest a) nie darmowy i b) często zbyt przytłaczający dla początkujących;)
Izzy
@Izzy Thanks! I czekam na (jak zawsze) eleganckie rozwiązanie dla wszystkich od ciebie. Powodem, dla którego nie rozszerzyłem kroków Taskera na bardziej szczegółowe, jest to, że OP wie o Tasker. Jest to jednak błąd w mojej strony, ponieważ czytelnik przyszłości może nie być świadomy Tasker za know-how . Chyba powinienem napisać to w ten sposób, aby ułatwić śledzenie. :)
Firelord
Brak krytyki dla ciebie (choć zgadzam się, że bardziej szczegółowe kroki mogą być pomocne dla innych użytkowników , rozumiem, dlaczego nie były one tutaj wymagane). Byłem uderzając moją głowę nie myślał o tym :)
Izzy
1
Łał! Downvote! Ta odpowiedź nie może zawieść , więc dlaczego otrzymała głosowanie negatywne? Rozważ wyjaśnienie, proszę, szanowany downvoter.
Firelord
5

Jeśli jesteś zrootowany (i prawdopodobnie nie używasz Lollipopa), możesz także użyć modułu Xposed Ustawienia aplikacji .

Otwórz moduł, wyszukaj i otwórz Mapy, przejdź do sekcji Orientacja i wybierz „automatyczne obracanie”. Wymusi to automatyczne obracanie.

Jaskaranbir Singh
źródło
Funkcje wyglądają obiecująco, ale czy mogę poznać sposób, w jaki ten moduł zmusza aplikację do pozostania w jednym trybie? Jeśli tylko mogę to naśladować w Tasker, można zapisać przed rootowaniem lub ustawienia mogą wymagać rootowania. NIE WIEM!
Firelord
1
Przepraszam, że musiałbym przestudiować jego kod źródłowy (którego jeszcze nie mam), więc nie mogę powiedzieć, jak dokładnie to działa: / Btw, oto kod źródłowy dla niego- > repo.xposed.info/module/de.robv.android .xposed.mods.appsettings :)
Jaskaranbir Singh
1
+1 W porównaniu z moją odpowiedzią „Forced auto-rotate” to całkiem spora okazja, ale trochę rozbiła temperaturę procesora . ;)
Firelord
3

Oprócz rozwiązania Tasklera Firelorda (które faworyzuję nad wszystkimi innymi wymienionymi w tym poście - ale Tasker jest a) nie darmowy i b) często nieco przytłaczający szczególnie dla początkujących) oraz Ustawienia aplikacji Jaskaranbir (jak Tasker , Xposed jest często nieco za dużo dla niektórych), dostępna jest trzecia opcja, o nazwie PerApp . To prawda, że ​​przez jakiś czas nie był aktualizowany, ale może być łatwiejszy w użyciu. Przed JellyBean (<4.1) nie wymaga nawet rootowania, aby dostosować obrót ekranu. Obejmuje również kilka innych ustawień, więc możesz spróbować.

Izzy
źródło
To właśnie dlatego, że wiele takich aplikacji nie jest aktualizowanych od 2013 roku, poprosiłem OP o jego wersję urządzenia i Androida, aby dobre rekomendacje mogły znaleźć odpowiedzi. Zgadnij, OP jest już zadowolony z Tasker. :) // To powiedziawszy, czy mogę wymusić aplikację w trybie poziomym za pomocą Tasker? Patrzyłem na AndroidManifest.xmlMapy, ale IDT widziałem coś przydatnego.
Firelord
1
Wiem, że PO faworyzuje rozwiązanie Tasker (podobnie jak ja). Moja odpowiedź była tylko dodatkiem dla przyszłych użytkowników szukających „czegoś łatwego” :) I nie, nie grałem w orientację w Tasker, więc nie mogę powiedzieć. Zapraszam do sprawdzenia mojej kolekcji zasobów Taskera , może być dostępny poradnik lub dodatek :)
Izzy
PerApp nie działał dla mnie (Android Marshmallow)
marmor
3

Możesz użyć aplikacji o nazwie Ustaw orientację autorstwa „Eyes-Free Project”. Dawka nie wymaga rootowania i może zmusić dowolną aplikację do obrócenia do dowolnej orientacji, a także tylko poziomą i poziomą odwrotność w oparciu o czujnik. Jest lekki, a także bezpłatny. Jest dostępny w sklepie Google Play.

Edycja: Użyj Rotation - Orientation Manager zamiast „Pranav Pandey”. Jest w pełni kompatybilny z Lollipop, jest darmowy i nie wymaga rootowania. Ta aplikacja ma również ustawienia dla aplikacji, których poprzednia aplikacja nie miała.

PSP
źródło
+1. „Ustaw orientację” nie spełnia wymagań pytania, ponieważ wymusza orientację w całym systemie. Z drugiej strony „Rotation - Orientation manager” dobrze sprawdza się w przypadku poszczególnych aplikacji. Jednak nie działało to płynnie na moim urządzeniu (stare urządzenie), ale wykonuje zadanie.
Firelord
1

Darmowa wersja MacroDroida może również wykonać to zadanie, chociaż nadal wolę rozwiązanie za pomocą Taskera .

  1. Zainstaluj i uruchom MacroDroid .
  2. Dotknij Dodaj makro → Program uruchamiający / zamknięty → Aplikacja uruchomiona → OK → wybierz aplikacje do automatycznego obracania → OK .
  3. W obszarze Dodaj działania dotknij opcji Auto-obracanie wł. / Wył. → Auto-obracanie wł.OK → kontynuuj.
  4. Zignoruj Dodaj ograniczenia → kontynuuj i nazwij makro jako Auto Rotate On.
  5. Utwórz kolejne makro za pomocą opcji Dodaj makro → Uruchamianie / zamykanie aplikacji → Aplikacja zamknięta → OK → wybierz aplikacje wybrane w kroku 2 → OK .
  6. W obszarze Dodaj działania dotknij Autoobracanie włączone / wyłączone → Autoobracanie wyłączone → OK → kontynuuj.
  7. Zignoruj Dodaj ograniczenia → kontynuuj i nazwij makro jako Auto Rotate Off.

Otóż ​​to. Funkcja została osiągnięta i możesz ją przetestować, uruchamiając i zamykając aplikacje wybrane w powyższych krokach.

Firelord
źródło
1

Darmowa wersja AutomateIt również spełnia swoje zadanie.

  1. Zainstaluj i uruchom AutomateIt.
  2. W bloku Moje reguły dotknij Dodaj regułę → Trigger stanu aplikacji → w aplikacji dotknij ikony soczewek i wybierz aplikacje → Dalej .
  3. W zakładce Akcja dotknij Włącz / Wyłącz obracanie ekranu → Włącz obracanie ekranu → Dalej → Nie → zapisz regułę.
  4. Utwórz kolejną regułę z bloku Moje reguły , stukając Dodaj regułę → Trigger stanu aplikacji → w aplikacji stuknij ikony soczewek i wybierz aplikację (aplikacje) → odznacz Aplikację aktywowanąDalej .
  5. W zakładce Akcja dotknij Włącz / Wyłącz obracanie ekranu → Wyłącz obracanie ekranu → Nie → zapisz regułę.

Otóż ​​to. Funkcja została osiągnięta i możesz ją przetestować, uruchamiając i zamykając aplikacje wybrane w powyższych krokach.

Firelord
źródło
1

A Tasker pozwala nawet dodawać warunkowe, na przykład jeśli mój ekran jest taki, zrób to inaczej. Na tej podstawie wymyśliłem własne rozwiązanie, które może wydawać się nieco skomplikowane, ale działa dla mnie. Ponieważ moje urządzenie nie jest zrootowane, polecenia kodu powłoki wymagające roota i tak nie będą działać.

Jednak za pomocą pętli if else (można ją jeszcze bardziej zmniejszyć, ponieważ początkowo dodałem dodatkowy kod debugowania), możesz po prostu ustawić AutoRotate na podstawie wartości Orientacji. Przechowujesz więc te dwie wartości w dwóch zmiennych zwanych ROTATE i DISPLAY, a na początku pętli if sprawdzasz DISPLAY za pomocą wyrażenia regularnego (musiałem to zrobić, ponieważ z jakiegokolwiek powodu wartość orientacji przeskakiwała między krajobrazem a krajobrazem do tyłu, więc regex zajmuje się obydwoma):

% DISPLAY ~ R poziomo (. *)?

Jeśli jest to pożądane ustawienie, wówczas w pętli if lub else możesz ustawić AutoRotate na Off . Ponadto zainstalowałem także wtyczkę Tasker o nazwie AutoInput, która pozwala mi zablokować przyciski Home i Back, aby wyjść, mogę nacisnąć drugi przycisk, który wyświetla wszystkie moje otwarte okna i po prostu zamknąć aplikację Adobe Acrobat, która jest do tego wyzwalaczem zadanie.

Tak wielkie Yay !! dla Tasker. I tak wiem, że jestem trochę spóźniony na imprezę, ale no cóż :)

Izaak
źródło