Android 从广播接收机拍摄照片

Android 从广播接收机拍摄照片,android,asynchronous,broadcastreceiver,android-camera,Android,Asynchronous,Broadcastreceiver,Android Camera,我从开发者指南中读到: BroadcastReceiver对象仅在onReceive调用期间有效(上下文、意图)。一旦代码从此函数返回,系统将认为对象已完成且不再处于活动状态 这对onReceive(Context,Intent)实现中的操作有重要影响:任何需要异步操作的操作都不可用,因为您需要从函数返回来处理异步操作,但此时BroadcastReceiver不再处于活动状态,因此系统可以在异步操作完成之前终止其进程 从byBroadcastReceiver我设法捕捉到我感兴趣的意图,作为回应,

我从开发者指南中读到:

BroadcastReceiver对象仅在onReceive调用期间有效(上下文、意图)。一旦代码从此函数返回,系统将认为对象已完成且不再处于活动状态

这对onReceive(Context,Intent)实现中的操作有重要影响:任何需要异步操作的操作都不可用,因为您需要从函数返回来处理异步操作,但此时BroadcastReceiver不再处于活动状态,因此系统可以在异步操作完成之前终止其进程

从by
BroadcastReceiver
我设法捕捉到我感兴趣的意图,作为回应,我希望我的应用程序拍一张照片:但在上面的书面解释中,我读到了这一点

任何需要异步操作的操作都不可用

我甚至可能成功地拍了一张照片,但也许,
onReceive
已经回来了。
我的问题是:从
广播接收器拍摄照片的最佳实践是什么?

1。你说的“拍照”是什么意思。从onRecive启动某种“wakeful服务”并从中“拍照”(或使用compat library的WakefulBroadcastReceiver)。对不起,我会更具体地说:“拍照”是指我的应用程序应该自动拍照,而不必等待用户按下按钮拍照。这是你正确理解的,只要开始你的拍照服务,你所需要注意的就是在适当的时间释放和初始化相机源。如果我坚持的话,我很抱歉,但是我不完全理解你的答案:我应该开始
服务吗?或者是一个线程,
onReceive
方法将在该线程上等待任务完成?