Android:BroadcastReceiver意图检测相机拍摄的照片?

我正在开发一个Android应用程序,每次使用手机拍摄新图像时都需要执行一个操作。 我不想在应用程序中拍摄图像,而是在相机应用程序拍摄图像并将其保存到SD卡时执行一些操作。 现在,我得到了一个BroadcastReceiver,目前正在侦听“android.intent.action.CAMERA_BUTTON”。 但是,这似乎并没有被调用,当我想要它。 我尝试在自己的电话上用BroadcastReceiver的OnReceive方法的第一行中的换行符来debugging应用程序,但它永远不会到达该代码。

有谁知道我应该听的正确意图是什么? 还是使用BroadcastReceiver甚至不是最好的方式来做到这一点? (例如,有没有更好的方法来完成这一点,比如听一个新的图像保存到卡上)?

谢谢!

更新:我的手机上有一个轨迹球(HTC Eris),那么以这种方式拍摄照片可能不会作为“相机button”发送? 如果是这样,有没有一个“相机button”,而是像一个轨迹球的手机的解决方法?

Solutions Collecting From Web of "Android:BroadcastReceiver意图检测相机拍摄的照片?"

现在,我得到了一个BroadcastReceiver,目前正在侦听“android.intent.action.CAMERA_BUTTON”。 但是,这似乎并没有被调用,当我想要它。

只有在前台活动不消耗事件的情况下才会广播。

相当古老的问题,如果有人仍然需要解决scheme尝试使用

android.hardware.action.NEW_PICTURE

作为你的意图filter

 <!-- Receiver for camera clicks --> <receiver android:name=".receivers.CameraEventReceiver" android:label="CameraEventReceiver"> <intent-filter> <!-- <action android:name="com.android.camera.NEW_PICTURE" /> --> <action android:name="android.hardware.action.NEW_PICTURE" /> <data android:mimeType="image/*" /> </intent-filter> </receiver> 

它会在它的onReceive()函数的intent.getData()中返回图像的Uri

希望能帮助到你

试试这个这对我有用

 <receiver android:name=".pictureReceiver" > <intent-filter android:priority="10000" > <action android:name="android.intent.action.CAMERA_BUTTON" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </receiver>