Я разрабатываю приложение для Android, которое изменяет действия нажатых клавиш (VOLUME_UP, VOLUME_DOWN, KEYENTER)
У меня есть контроллер селфи-палки, который имеет три кнопки.Я могу определить, какая кнопка нажата, и могу сделать то, что я хочу сделать без отключения исходного события нажатия клавиши
Мне нужно отключить исходное событие нажатия клавиши.
Мой сервисный тег выглядит так в Манифесте Android:
<service android:name=".CustomListener"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"
android:label="@string/accessibility_service_label">
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService" />
</intent-filter>
<meta-data
android:name="android.accessibilityservice"
android:resource="@xml/accessibility_service_config" />
</service>
И мой accesibility_service_config вот так:
xmlns:android="http://schemas.android.com/apk/res/android"
android:accessibilityEventTypes="typeAllMask"
android:accessibilityFeedbackType="feedbackAllMask"
android:accessibilityFlags="flagRequestFilterKeyEvents"
android:canRequestFilterKeyEvents="true"
android:canRetrieveWindowContent="true"
android:notificationTimeout="50"
android:packageNames="com.custom333.clevent"
А моя функция onKeyevent:
@Override
protected boolean onKeyEvent(KeyEvent event) {
int keyCode = event.getKeyCode();
KeyEvent.KEYCODE_META_RIGHT
switch (keyCode) {
case KeyEvent.KEYCODE_VOLUME_DOWN:
Log.d("##CURRENTKEY", "Volume -");
case KeyEvent.KEYCODE_VOLUME_UP:
Log.d("##CURRENTKEY", "Volume +");
return false;
}
return super.onKeyEvent(event);
}
С помощью этого кода я могу получить нажатую клавишу, но не могу отключить события оригинальной клавиши.
Кто-нибудь может мне помочь с этим?