Dzięki nowym uprawnieniom zaimplementowanym w Androidzie Oreo aplikacje systemowe mogą teraz konfigurować detektory tak, aby wykrywały długie naciśnięcia klawiszy głośności.
Dodawanie dodatkowych funkcji do różnych przycisków sprzętu i oprogramowania na naszych urządzeniach to coś, czym entuzjaści Androida zajmują się już od jakiegoś czasu. Większość ludzi zna aplikacje takie jak Mapa przycisków od uznanego programisty XDA flara2, a nawet o tym rozmawialiśmy inne rozwiązania do remapowania z przeszłości wypuszczono Galaxy S8. Chociaż te rozwiązania obsługiwały te działania w określony sposób, Google wydaje się wdrażać odbiornik w Androidzie Oreo, który będzie obsługiwał długie naciskanie klawiszy głośności. Oznacza to, że potencjalnie aplikacje w przyszłości będą mogły reagować na długie naciśnięcia klawiszy głośności nawet na ekranie jest wyłączona, co można wykorzystać do przeniesienia często żądanej funkcji z niestandardowych pamięci ROM – sterowanie ścieżką muzyczną za pomocą klawisza głośności prasy.
Chcemy o tym wspomnieć ta cecha nie jest w rzeczywistości włączona w wersji przeznaczonej dla użytkownika, którą mamy obecnie dostępną. Jednak wsparcie dla niego jest dostępne, o czym świadczy znalezione przez nas zatwierdzenie, a to oznacza, że producent OEM może je włączyć dla Twojego konkretnego urządzenia. Jak wspomniano, tradycyjne aplikacje do ponownego mapowania działają na zasadzie wykrywania, czy zostało wysłane zdarzenie KeyEvent (przy długich naciśnięciach aplikacje te mierzą czas pomiędzy naciśnięcie klawisza i naciśnięcie klawisza, podczas gdy przy podwójnych naciśnięciach mierzą czas pomiędzy naciśnięciami klawisza), ale te zdarzenia KeyEvents są wysyłane tylko wtedy, gdy ekran jest NA. Co więcej, zazwyczaj wymagają one również korzystania z usługi dostępności, która może obciążać wydajność.
Typowe rozwiązanie polegające na zmianie mapowania przycisków można uznać za obejście, które można zastosować do włączania i wyłączania latarki, otwierania aplikacji, otwierania panelu powiadomień i tak dalej. Jednak to, co Google zaimplementowało w Androidzie Oreo, idzie o krok dalej, umożliwiając aplikacjom systemowym samodzielne konfigurowanie odbiorników przy długim naciśnięciu przycisku głośności. Może to umożliwić użytkownikowi uruchomienie czegoś w samej aplikacji, gdy platforma wykryje, że przycisk głośności był przytrzymywany przez kilka sekund.
Ponieważ Google włączył tę obsługę w Androidzie Oreo, będzie to działać tylko w przypadku „uprzywilejowanych” (inaczej preinstalowanych aplikacji systemowych) od razu po wyjęciu z pudełka. Producent OEM musi jedynie zezwolić uprzywilejowanej aplikacji na posiadanie android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER
pozwolenie w celu ustawienia słuchacza. Jednakże byliśmy w stanie przyznać takie uprawnienia za pomocą poleceń ADB, więc możliwe jest, że ci z nas, którzy się na tym znają, mogliby ręcznie ustawić to również dla aplikacji innych firm.