我想接收打开相机的广播。如果某些条件为真,我想阻止该过程。
我没有收到打开相机的广播。(我可以为拍摄的新照片获得广播,这不是我想要的。)
这是我的清单文件的一部分:
<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 上搜索了一整天。我尝试了每一种组合。但是我没有因为打开相机而被广播。
我正在使用三星 Galaxy 选项卡进行测试。哪个没有硬件相机按钮。
这个问题的一个答案说
您不能:意图仅由硬件相机按钮生成,而不是由相机应用程序中的按钮生成。
那么我的清单文件的意图过滤器有什么问题吗?还是由于设备没有硬件相机按钮而导致的问题?