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

JTo*_*and 8 android broadcastreceiver android-intent android-camera android-camera-intent

我正在开发一个Android应用程序,每次使用手机拍摄新图像时都需要执行操作.我不想在我的应用程序中拍摄图像,而是在Camera应用程序拍摄图像并将其保存到SD卡时执行某些操作.现在,我已经实现了一个正在侦听"android.intent.action.CAMERA_BUTTON"的BroadcastReceiver.但是,当我想要它时,似乎没有被调用.我试图在我自己的手机上使用BroadcastReceiver的OnReceive方法的第一行上的换行调试应用程序,但它从未达到该代码.

有谁知道我应该听的正确意图是什么?或者使用BroadcastReceiver甚至不是最好的方法吗?(例如,有没有更好的方法来实现这一点,例如在将新图像保存到卡时进行监听)?

谢谢!

更新:我的手机上有一个轨迹球(HTC Eris),因此拍照的方式是不是可以作为"相机按钮"发送?如果是这样,是否有一个没有"相机按钮"的手机的解决方法,而是像轨迹球?

Com*_*are 7

现在,我已经实现了一个正在侦听"android.intent.action.CAMERA_BUTTON"的BroadcastReceiver.但是,当我想要它时,似乎没有被调用.

只有前台活动不消耗该事件时才会广播.

  • @JToland:您可以在`MediaStore`上设置`ContentObserver`.您可以在SD卡的某个位置设置`FileObserver`.两者都没有严格"新照片已被保存". (9认同)
  • @JToland:没有广播说"相机拍了照片". (2认同)
  • @Krishnabhadra:不,除了让你的活动接管前景. (2认同)