Jak włączyć elementy sterujące na pasku nawigacyjnym odtwarzania multimediów w systemie Android O podczas aktywnego odtwarzania muzyki. Używa Taskera, SecureTask i odbiornika powiadomień.
Wersja zapoznawcza Androida O dla programistów jest dostępna dopiero od tygodnia, ale szybko odkrywamy coraz więcej potencjalnych zastosowań wszystkich nowych funkcji. Jedną z funkcji, która nas najbardziej ekscytowała, jest nowość dostosowywanie paska nawigacji można znaleźć w tunerze interfejsu użytkownika systemu.
Po wstępnej kontroli wdrożenie Google wydaje się całkiem proste. Chociaż możesz dodać nowy klawisz nawigacyjny po lewej i prawej stronie istniejących klawiszy, każdy dodany klawisz będzie na stałe umieszczony na pasku nawigacyjnym. Niestety, dla wielu osób ta funkcja jest bezużyteczna, ponieważ wiele klawiszy, które chciałbyś mieć na pasku nawigacyjnym, działa tylko w określonych okolicznościach. Ale jak pokazaliśmy wcześniej, w rzeczywistości jest to możliwe włącz określone klawisze paska nawigacji w ramach własnych, konfigurowalnych warunków
. W tym samouczku pokażemy, jak to zrobić włącz przyciski sterowania odtwarzaniem multimediów na pasku nawigacyjnym gdy Muzyka Google Play lub inna aplikacja muzyczna odtwarza muzykę.Dziękuję Eli Irvinowi za przetestowanie tego dla mnie i przechwycenie nagrania ekranu!
Wymagania:
- Zadanie ($2.99)
- Bezpieczne zadanie
- Słuchacz powiadomień
Tasker jest niezbędny, ponieważ jest to aplikacja do automatyzacji, której używamy do wykrywania, w jakiej aplikacji się znajdujemy i wysyłać polecenia poprzez wtyczkę SecureTask, która właśnie zajmie się zmianą naszej nawigacji bar. Po zainstalowaniu tych aplikacji musimy je skonfigurować.
Aby wykryć, kiedy odtwarzana jest muzyka, musimy włączyć dostęp do powiadomień dla wtyczki Notification Listener. Można to zrobić bardzo szybko, wystarczy przejść do Ustawień i wyszukać „dostęp do powiadomień” w pasku wyszukiwania. Otwórz stronę ustawień, poszukaj odbiornika powiadomień i przyznaj mu uprawnienia do czytania powiadomień.
Następnie musimy przyznać SecureTask możliwość modyfikowania ustawień systemowych na naszym urządzeniu. Aby to zrobić, musimy przyznać SecureTask specjalne pozwolenie znane jako WRITE_SECURE_SETTINGS, które jest zwykle niedostępne dla zwykłych aplikacji, ale użytkownik może je przyznać ręcznie za pomocą ADB. Dlatego, aby to działało, musisz mieć uruchomiony ADB na swoim komputerze. Na szczęście przyznanie tego uprawnienia jest sprawą jednorazową i będziemy używać SecureTask w przyszłych tutorialach związanych z Androidem O, więc zdecydowanie radzę zrobić to teraz. Jeśli postępowałeś zgodnie z moimi poprzednimi samouczkami, w których mówiłem o instalacji AutoTools, SecureTask jest mniej wypełniony funkcjami, ale w zupełności wystarczy na nasze potrzeby.
Konfigurowanie ADB
Pierwszą rzeczą, którą musisz zrobić, to pobrać plik binarny ADB dla konkretnego systemu operacyjnego. Możesz to zrobić tutaj. Po ich pobraniu musisz upewnić się, że masz plik właściwy sterownik jeśli korzystasz z systemu Windows.
Po rozpakowaniu pliku binarnego do osobnego folderu i zainstalowaniu sterownika musimy następnie włączyć debugowanie USB na smartfonie. Aby to zrobić, otwórz Ustawienia i przejdź do Informacje o telefonie. Stuknij w Numer kompilacji 7 razy, aż pojawi się okno dialogowe z informacją o odblokowaniu Opcji programisty. Możesz teraz uzyskać dostęp do Opcji programisty w Ustawieniach. Najwyraźniej w Androidzie O musisz wprowadzić swój kod PIN/hasło, zanim będziesz mógł otworzyć Opcje programisty. Zrób to i poszukaj Debugowanie USB, a następnie włącz je.
Teraz podłącz telefon i otwórz wiersz poleceń w tym samym katalogu, w którym wyodrębniłeś plik binarny ADB. (Użytkownicy systemu Windows, przytrzymaj Shift i kliknij prawym przyciskiem myszy w tym folderze i wybierz „otwórz tutaj wiersz poleceń.”) Wpisz adb devices
do wiersza poleceń. Zobaczysz komunikat, że serwer ADB jest uruchamiany, a następnie na telefonie pojawi się monit z prośbą o przyznanie komputerowi dostępu ADB. Zaakceptuj to. Teraz, kiedy wejdziesz adb devices
w wierszu poleceń powinieneś zobaczyć numer seryjny swojego urządzenia, jeśli tak, to powiodło się.
Przyznawanie WRITE_SECURE_SETTINGS do SecureTask
Po otwarciu wiersza poleceń ADB wprowadź następujące polecenie, aby przyznać SecureTask wymagane uprawnienia.
adbshellpmgrantcom.balda.securetaskandroid.permission.WRITE_SECURE_SETTINGS
SecureTask będzie teraz miał możliwość modyfikowania ustawień systemowych bez dostępu do konta root! Teraz jesteśmy gotowi, aby przejść do Taskera.
Konfigurowanie profili Taskera
Będziemy tutaj tworzyć dwa osobne profile Taskera. Taki, który reaguje, gdy wybrany przez nas odtwarzacz muzyczny (w moim przykładzie Google Play Music) rozpoczyna odtwarzanie muzyki (jego powiadomienie zostało wysłane) i taki, który reaguje na powiadomienie tego samego odtwarzacza muzycznego zwolniony.
Otwórz Taskera i utwórz nowy profil, naciskając ikonę + w prawym dolnym rogu. Zaczniemy od utworzenia profilu, który będzie uruchamiany po opublikowaniu powiadomienia z odtwarzacza muzyki. Nazwij profil „Włącz klawisze nawigacji multimedialnej” i wybierz kontekst zdarzenia. Przejdź do Wtyczka -> Odbiornik powiadomień -> Odbiornik powiadomień. W obszarze Zdarzenie powiadomienia wybierz Wysłano i w obszarze Aplikacje wybierz aplikacje, które chcesz monitorować (np. Muzyka Google Play).
Kiedy już skończysz, wycofaj się, a Tasker poprosi Cię o dołączenie zadania do tego profilu. Możesz nazwać Zadanie, ale nie jest to konieczne. Wystarczy kliknąć znacznik wyboru, aby przejść do ekranu edycji zadania. Gdy już dołączysz, dodamy dwie akcje do tego zadania.
- A1: Wtyczka --> SecureTask --> Bezpieczne ustawienia. Działanie: Pisać. Ustawienie:
secure sysui_nav_bar_left
. Wartość:key(88:com.android.systemui/2131230907)
. To jest KEYCODE_MEDIA_PREVIOUS i pojawi się jako strzałka w lewo na pasku nawigacyjnym. - A2: Wtyczka --> SecureTask --> Bezpieczne ustawienia. Działanie: Pisać. Ustawienie:
secure sysui_nav_bar_right
. Wartość:key(87:com.android.systemui/2131231004)
. To jest KEYCODE_MEDIA_NEXT i pojawi się jako strzałka w prawo na pasku nawigacyjnym.
Następnie utworzymy drugi profil, który będzie uruchamiany po odrzuceniu powiadomienia z aplikacji muzycznej. Ten profil usunie klawisze sterowania multimediami, gdy powiadomienie zostanie odrzucone. Utwórz nowy profil i nazwij go „Wyłącz klawisze nawigacji multimedialnej”. Ponownie utwórz kontekst zdarzenia i wybierz wtyczkę Notification Listener. Tym razem wybierz opcję Zdarzenie powiadomienia REMOVED ale ponownie wybierz tę samą aplikację muzyczną, którą chcesz monitorować.
Ponownie dodaj zadanie (bez nazwy jest w porządku) i utwórz następujące dwie akcje:
- A1: Wtyczka --> SecureTask --> Bezpieczne ustawienia. Działanie: Pisać. Ustawienie:
secure sysui_nav_bar_left
. Wartość:null
. - A2: Wtyczka --> SecureTask --> Bezpieczne ustawienia. Działanie: Pisać. Ustawienie:
secure sysui_nav_bar_right
. Wartość:null
.
Te dwie czynności spowodują wyczyszczenie klawiszy paska nawigacyjnego, w związku z czym nie będzie już tam klawiszy sterujących odtwarzaniem multimediów.
Otóż to! Teraz, gdy rozpoczniesz odtwarzanie muzyki, na pasku nawigacyjnym zobaczysz dodatkowe klawisze umożliwiające sterowanie multimediami, ale gdy odrzucisz powiadomienie odtwarzacza muzyki, klawisze te znikną.
Pobierz i zaimportuj
Podobnie jak w przypadku wszystkich samouczków związanych z Taskerem, udostępnimy pliki XML, które możesz pobrać i zaimportować. Pobierz pliki prf.xml z AndroidFileHost poniżej i zapisz je w pamięci wewnętrznej. Otwórz Taskera i naciśnij długo kartę Profile u góry, aż zobaczysz przycisk Importuj. Stuknij w to i poszukaj właśnie zapisanych plików XML, a następnie wybierz je, aby je zaimportować (będziesz musiał to zrobić jeden po drugim). Upewnij się, że włączyłeś dostęp do powiadomień dla odbiornika powiadomień i udzieliłeś WRITE_SECURE_SETTINGS uprawnienia do SecureTask, jak wspomniano w moim artykule, w przeciwnym razie te profile nie będą działać cokolwiek na Twoim telefonie!
Pobierz profil „Włącz klawisze nawigacji multimedialnej” z AndroidFileHost
Pobierz profil „Wyłącz klawisze nawigacji multimedialnej” z AndroidFileHost
Jeśli zastanawiasz się, co jeszcze możemy osiągnąć dzięki SecureTask i Android O, zaglądaj na portal XDA, ponieważ mamy dużo więcej do udostępnienia. Spodziewaj się więcej tutoriali na temat tego, jak sprawić, by pasek nawigacyjny w Androidzie O realizował wiele przydatnych funkcji!