以下问题:我正在调用带有附加功能的活动“B”。如果 B 启动并有额外内容,则 ACTION_IMAGE_CAPTURE 意图正在进行中。这真的很好用。
但是,我在 onCreate() 中完成了此操作,因此,每次我更改设备的方向(并在之前启动活动时使用附加功能)时,相机都会启动。
我试图做 clear(); 以及 remove() 但这对我不起作用。
有什么建议么?提前致谢
以下问题:我正在调用带有附加功能的活动“B”。如果 B 启动并有额外内容,则 ACTION_IMAGE_CAPTURE 意图正在进行中。这真的很好用。
但是,我在 onCreate() 中完成了此操作,因此,每次我更改设备的方向(并在之前启动活动时使用附加功能)时,相机都会启动。
我试图做 clear(); 以及 remove() 但这对我不起作用。
有什么建议么?提前致谢
您可以使用 onSaveInstanceState 来保存一个布尔值来决定是否保持相机打开。此方法提供了一个捆绑包,您可以在其中插入该数据,您可以在 onCreate 或 onRestoreInstanceState 期间再次访问该数据包。这是在方向更改期间保持应用按预期工作的首选方法。
例如,您可以检查一张照片是否真的是用相机拍摄的,然后根据该信息,通过 onSaveInstanceState 回调将一个布尔值插入到 savedInstanceState Bundle 中。调用 onCreate 时,检查提供的 Bundle 是否为您的布尔值,并选择是否使用该布尔值打开相机。