Как реагировать на нажатие кнопки камеры на Xperia Z3
Можно ли вообще реагировать на аппаратную кнопку камеры Xperia Z3? Я пробовал android.intent.action.CAMERA_BUTTON:
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:screenOrientation="landscape">
<intent-filter android:priority="1000">
<action android:name="android.intent.action.CAMERA_BUTTON" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
Но все равно встроенное приложение камеры открыто.
Если заглянуть в Logcat, кнопка действительно вызывает не намерение CAMERA_BUTTON, а конкретное для приложения поставщика. У кого-нибудь получилось перехитрить устройство?
2 ответа
Ваш код в порядке, но камера по умолчанию также поглощает радиопередачу. Единственное решение, которое я нашел, было в настройках устройства -> Приложения -> Камера -> Отключить. (чтобы не просто отключить быстрый запуск, но и отключить все приложение). Я получаю трансляции правильно после этого.
Не могли бы вы не использовать onKeyDown
вместо? Это работает на моем Z3:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_CAMERA) {
//do something
return true;
}
return true;
}