Как реагировать на нажатие кнопки камеры на 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;
    }
Другие вопросы по тегам