2

在我的应用程序中,我有一个活动和一个服务。该服务持续管理一些数据。在某些情况下,服务会向 Activity 发送广播请求以打开手电筒。

这很好用。但是,当应用程序最小化(手动或通过来电)时,它不起作用。一旦我将应用程序带回前面,它就会再次开始工作。

当我观察日志时,我看到当应用程序最小化时服务仍在运行。但是,由于活动不再存在,因此无法访问相机对象来激活手电筒。但是日志中没有错误。

为什么手电筒没有启动?应用最小化时如何激活手电筒?

4

1 回答 1

1

只有前台活动才能持有相机。从谷歌文档:

“如果您的应用程序没有正确释放摄像头,那么所有后续访问摄像头的尝试,包括您自己的应用程序的尝试,都将失败,并可能导致您或其他应用程序被关闭。”

您可以尝试在服务上声明它,但我怀疑这不会很好。它只是真的不是为了这样工作而设计的。

于 2013-02-15T19:00:12.193 回答