从不同的活动中获取相机后,有没有办法从不同的活动中释放相机.

Aks*_*hat 6 java camera android flashlight

我正在开发一种手电筒应用程序,其中一个活动中有一个普通的手电筒,一个活动中有一个闪光灯.现在我正在onCreate of Flashlight活动中获取相机.但是当我想要频闪活动时,我需要释放FlashLight活动所获得的相机.我不想在onPause of FlashLight活动中释放相机,因为即使用户按下主页按钮也会停止相机.我只想在用户进行频闪活动时释放相机,否则他会通过后退按钮退出应用程序.此外,如果用户从频闪活动回到手电筒活动,我想重新获取相机.无论如何他们都是这样做的.

Dav*_*ser 7

其他答案告诉你不要这样做,为什么.但要回答你的问题:

Camera在静态成员变量中保持对实例的引用,最好是在单独的类中,如下所示:

public class Globals {
    public static Camera myCamera;
}
Run Code Online (Sandbox Code Playgroud)

此变量可用于您的所有活动Globals.myCamera.

Camera你从调用中获得的实例Camera.open()放入Globals.myCamera.这将适用于这两项活动.当你准备好释放相机,打电话Globals.myCamera.release(),然后设置Globals.myCameranull以表明你不再有摄像头的控制.