Android Oreo에 구현된 새로운 권한 덕분에 시스템 애플리케이션은 이제 볼륨 키를 길게 누르는 것을 감지하도록 리스너를 설정할 수 있습니다.
기기의 다양한 하드웨어 및 소프트웨어 버튼에 추가 기능을 추가하는 것은 Android 애호가들이 한동안 해왔던 일입니다. 대부분의 사람들은 다음과 같은 응용 프로그램에 대해 알고 있습니다. 버튼 매퍼 XDA 인정 개발자로부터 flar2, 그리고 우리는 심지어 다른 리매퍼 솔루션은 갤럭시 S8이 출시되었습니다. 이러한 솔루션은 특정 방식으로 이러한 작업을 처리했지만 Google은 볼륨 키를 길게 누르기 위해 Android Oreo에 리스너를 구현하는 것으로 보입니다. 이는 잠재적으로 미래의 애플리케이션이 화면이 켜져 있는 동안에도 볼륨 키를 길게 누르는 것에 반응할 수 있음을 의미합니다. 꺼져 있으며 사용자 정의 ROM에서 자주 요청되는 기능(볼륨 키를 사용한 음악 트랙 제어)을 가져오는 데 사용할 수 있습니다. 프레스.
우리는 그것을 언급하고 싶습니다 이 기능 현재 우리가 사용할 수 있는 사용자 대상 빌드에서는 실제로 활성화되어 있지 않습니다. 그러나 우리가 발견한 커밋에서 알 수 있듯이 이에 대한 지원은 존재하며 이는 OEM이 특정 장치에 대해 활성화할 수 있음을 의미합니다. 언급한 바와 같이 기존의 재매핑 애플리케이션은 KeyEvent가 전송되었는지 감지하여 작동합니다. 길게 누르면 이러한 앱은 KeyEvent 사이의 시간을 측정합니다. 키 누르기 및 키 올리기 이벤트인 반면 두 번 누르면 누르기 사이의 시간을 측정하지만 이러한 KeyEvent는 화면이 켜져 있는 동안에만 전송됩니다. 에. 또한 일반적으로 성능에 부담을 줄 수 있는 접근성 서비스를 사용해야 합니다.
일반적인 버튼 재맵핑 솔루션은 토치를 켜거나 끄고, 애플리케이션을 열고, 알림 패널을 당기는 등의 작업에 사용되는 해결 방법으로 간주될 수 있습니다. 그러나 Google이 Android Oreo에 구현한 기능은 시스템 애플리케이션 자체가 이러한 볼륨 버튼 길게 누르기 리스너를 설정할 수 있도록 하여 한 단계 더 발전했습니다. 이를 통해 플랫폼에서 볼륨 버튼이 몇 초 동안 누르고 있음을 감지하면 사용자가 애플리케이션 자체 내에서 무언가를 트리거할 수 있습니다.
Google이 Android Oreo에 이에 대한 지원을 포함시킨 방식은 기본적으로 "권한이 있는"(사전 설치된 시스템이라고도 함) 애플리케이션에서만 작동합니다. OEM은 권한 있는 애플리케이션이 android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER
허가 청취자를 설정하기 위해. 그러나 우리는 ADB 명령을 사용하여 이와 같은 권한을 부여할 수 있었기 때문에 이를 알고 있는 사람들이 타사 애플리케이션에 대해서도 수동으로 설정할 수 있을 가능성이 있습니다.