Android应用程序似乎在相机启动后重新创建

时间:2015-11-09 10:24:59

标签: android android-camera

我正在使用this answer从我的Android应用程序启动相机意图(我需要用户能够从相机或图库中选择图像)

但似乎我的整个应用程序都被重新创建了 - 活动的onCreate被调用,其中一个类,即单例,具有toString()值,不同于相机启动前的值。

这也是我在android manifest中的活动描述:

<activity
            android:name="xxx"
            android:theme="@style/NoActionBarTheme"
            android:screenOrientation="portrait"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:label="@string/app_name">

</activity>

任何想法出了什么问题?

2 个答案:

答案 0 :(得分:0)

确保从“设置”中的“开发者选项”中取消选中“不要保留活动”。

如果您的活动有正确的 launchMode ,请检查您的清单和代码。

答案 1 :(得分:-1)

在某些设备上(我观察到samsung s3),当启动相机应用程序时,设备方向更改为横向&amp;当选择拍摄的照片返回我们的应用程序再次画像。我们的活动再次重新创建。我们最终刚刚开始活动。

在这种情况下,您必须为活动实现以下一对回调。 OnSaveInstanceState()&amp; OnRestoreInstaceState()。 您可以保存成员变量&amp;从相机应用程序返回您的活动时恢复它们。 例如可以保存imagePath(保存摄像头图片所用的位置)。恢复。