Я хочу получать трансляцию для открытия камеры. Я хочу заблокировать этот процесс, если какое-то условие истинно.
Я не получаю трансляцию об открытии камеры. (Я могу получить трансляцию для нового снимка, а это не то, чего я хочу.)
Это часть моего файла манифеста:
<receiver
android:name=".HardwareActionListener"
android:enabled="true"
android:exported="true" >
<intent-filter android:priority="1000" >
<action android:name="android.intent.action.CAMERA_BUTTON" >
</action>
</intent-filter>
</receiver>
Это часть моего файла HardwareActionListener.java
System.out.println("Intent action: " + intent.getAction());
if (intent.getAction().equalsIgnoreCase(
"android.intent.action.CAMERA_BUTTON")) {
System.out.println("CAMERA Button broadcast received and aborted");
if(some_condition_true)
abortBroadcast();
}
Я искал это в Google и stackverflow целый день. И я пробовал каждую комбинацию. Но я не получаю трансляцию об открытии камеры.
Я использую вкладку Samsung Galaxy для тестирования. У которого нет аппаратной кнопки камеры.
И один ответ в этот вопрос а> говорит, что
Вы не можете: намерение генерируется только аппаратной кнопкой камеры, а не кнопкой в приложении камеры.
Итак, есть ли что-то не так в фильтре намерений моего файла манифеста? Или это проблема из-за того, что на устройстве нет аппаратной кнопки камеры?