Takket være en ny tillatelse implementert i Android Oreo, kan systemapplikasjoner nå sette opp lyttere til å oppdage lange trykk på volumtastene.
Å legge til ekstra funksjonalitet til ulike maskinvare- og programvareknapper på enhetene våre er noe Android-entusiaster har gjort en stund. De fleste kjenner til applikasjoner som f.eks Button Mapper fra XDA Recognized Developer flar2, og vi snakket til og med om andre remapper løsninger tilbake når Galaxy S8 ble utgitt. Mens disse løsningene håndterte disse handlingene på en bestemt måte, ser Google ut til å implementere en lytter i Android Oreo for å trykke lenge på volumtastene. Dette betyr at applikasjoner i fremtiden potensielt kan være i stand til å reagere på lange volumtaster selv mens skjermen er av, som kan brukes til å bringe en ofte etterspurt funksjon over fra tilpassede ROM-er - musikksporkontroll med volumtast trykker.
Det ønsker vi å nevne denne funksjonen er faktisk ikke aktivert i den brukervendte versjonen som vi har tilgjengelig for oss akkurat nå. Støtte for det er der imidlertid, som det fremgår av forpliktelsen vi fant, og det betyr at den kan aktiveres av OEM for din spesifikke enhet. Som nevnt fungerer tradisjonelle remapping-applikasjoner ved å oppdage om en KeyEvent har blitt sendt (med lange trykk måler disse appene tiden mellom en tast ned og tast opp hendelse, mens med dobbelttrykk måler de tiden mellom nedtrykk), men disse tastehendelsene sendes bare mens skjermen er på. Videre krever de også vanligvis bruk av en tilgjengelighetstjeneste som kan belaste ytelsen.
Din typiske knappetilordningsløsning kan betraktes som en løsning som skal brukes til å slå lommelykten på eller av, åpne et program, trekke ned varslingspanelet og så videre. Men det Google har implementert i Android Oreo tar dette et skritt videre med å la systemapplikasjoner selv sette opp disse volumknappene med langtrykkslyttere. Dette kan tillate brukeren å utløse noe i selve applikasjonen når plattformen oppdager at en volumknapp har blitt holdt nede i noen sekunder.
Slik Google har inkludert støtte for dette i Android Oreo, vil dette kun fungere for "privilegerte" (aka forhåndsinstallerte system) applikasjoner ut av esken. OEM trenger bare å la den privilegerte applikasjonen ha android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER
tillatelse for å sette lytteren. Imidlertid har vi vært i stand til å gi tillatelser som disse med ADB-kommandoer, slik at det er mulig at de av oss som vet, kan manuelt angi dette for en tredjepartsapplikasjon også.