Android Oreo-systeemapps kunnen de volumetoets instellen door lang indrukken van luisteraars

click fraud protection

Dankzij een nieuwe toestemming geïmplementeerd in Android Oreo kunnen systeemapplicaties nu luisteraars instellen om lang indrukken van de volumetoetsen te detecteren.

Het toevoegen van extra functionaliteit aan verschillende hardware- en softwareknoppen op onze apparaten is iets waar Android-liefhebbers al een tijdje mee bezig zijn. De meeste mensen kennen toepassingen zoals Knoptoewijzer van XDA erkende ontwikkelaar flauw2, en we hebben er zelfs over gesproken andere remapper-oplossingen van toen de Galaxy S8 werd uitgebracht. Hoewel deze oplossingen deze acties op een bepaalde manier hebben afgehandeld, lijkt Google een luisteraar in Android Oreo te implementeren voor het lang indrukken van de volumetoetsen. Dit betekent dat toepassingen in de toekomst mogelijk kunnen reageren op lang indrukken van de volumetoets, zelfs terwijl het scherm actief is is uitgeschakeld, wat kan worden gebruikt om een ​​veelgevraagde functie over te brengen van aangepaste ROM's: muziektrackbediening met volumetoets persen.

Dat willen wij wel vermelden deze functie is niet daadwerkelijk ingeschakeld in de gebruikersgerichte build die we nu voor ons beschikbaar hebben. Er is echter ondersteuning voor, zoals blijkt uit de commit die we hebben gevonden, en dat betekent dat het door de OEM kan worden ingeschakeld voor uw specifieke apparaat. Zoals gezegd werken traditionele remapping-applicaties door te detecteren of een KeyEvent is verzonden (bij lang indrukken meten deze apps de tijd tussen een key-down en key-up-gebeurtenis, terwijl bij dubbel indrukken de tijd tussen het indrukken van de toets wordt gemeten), maar deze KeyEvents worden alleen verzonden terwijl het scherm is op. Bovendien vereisen ze doorgaans ook het gebruik van een toegankelijkheidsservice, wat belastend kan zijn voor de prestaties.

Uw typische oplossing voor het opnieuw toewijzen van knoppen kan worden beschouwd als een oplossing die kan worden gebruikt om de zaklamp aan of uit te zetten, een applicatie te openen, het meldingenpaneel naar beneden te trekken, enzovoort. Wat Google in Android Oreo heeft geïmplementeerd, gaat echter nog een stap verder door systeemapplicaties zelf deze volumeknoppen te laten instellen door lang indrukken van luisteraars. Hierdoor kan de gebruiker iets binnen de applicatie zelf activeren zodra het platform detecteert dat een volumeknop een paar seconden ingedrukt is gehouden.

De manier waarop Google hiervoor ondersteuning heeft opgenomen in Android Oreo, werkt standaard alleen voor "bevoorrechte" (ook wel vooraf geïnstalleerde systeem-) applicaties. De OEM hoeft alleen maar toe te staan ​​dat de bevoorrechte toepassing het android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENERtoestemming om de luisteraar in te stellen. We hebben dit soort machtigingen echter kunnen verlenen met ADB-opdrachten, dus het is mogelijk dat degenen onder ons die er verstand van hebben dit ook handmatig kunnen instellen voor toepassingen van derden.