我正在开发一款Android应用程序,需要在手机拍摄新照片时执行某个操作。我不想在我的应用程序中拍摄图片,而是希望在相机应用程序拍摄并将图像保存到SD卡时执行某些操作。目前,我已经实现了一个广播接收器来监听"android.intent.action.CAMERA_BUTTON",但是它似乎没有在我想要的时候被调用。我尝试使用我的手机在BroadcastReceiver的OnReceive方法的第一行设置断点进行调试,但它从未达到该代码。
有人知道我应该监听哪个正确的意图吗?或者使用BroadcastReceiver甚至不是做这件事情最好的方式吗?(例如,是否有更好的方法来完成此操作,如监听何时将新图像保存到卡中)?
谢谢!
更新:我的手机(HTC Eris)上有一个轨迹球,因此拍照的方式可能不会作为“相机按钮”发送。如果是这样,对于没有“相机按钮”,而是像轨迹球这样的东西的手机,是否有解决方法?
有人知道我应该监听哪个正确的意图吗?或者使用BroadcastReceiver甚至不是做这件事情最好的方式吗?(例如,是否有更好的方法来完成此操作,如监听何时将新图像保存到卡中)?
谢谢!
更新:我的手机(HTC Eris)上有一个轨迹球,因此拍照的方式可能不会作为“相机按钮”发送。如果是这样,对于没有“相机按钮”,而是像轨迹球这样的东西的手机,是否有解决方法?
MediaStore
上设置ContentObserver
。您可以在SD卡中的某个位置上设置FileObserver
。但这两种方法都不严格等同于“新照片已保存”。 - CommonsWare