基本上,我按下一个按钮,这会通过使用相机意图打开您的默认相机应用程序。拍照后,它将保存所需的东西并重定向到另一个活动。
在这个活动中,我有一个可以成功上传图片的AsyncTask。所以你可能会问我的问题是什么。我的问题是它重新创建了我的活动,因此与它一起重置了我的 ProgressDialog。(它运行活动,执行 aSyncTask,在它完成之前死掉并重新创建我的 Activity 以再次执行 asynctask。)
它并不总是这样做。我认为这样做是因为它将手机的方向从横向更改为纵向。(我有一个三星。当我去相机时,它会变成横向,当我完成时,它又会变成纵向。)
我已经完成了我的作业并将这些东西添加到我的清单中:
android:configChanges="orientation|keyboardHidden"
android:screenOrientation="portrait" >
我已确保将我的应用程序“锁定”为纵向,但我仍然看到我的应用程序更改了方向,我相信这就是我的活动被重新创建的原因。
我计划添加各种检查,但我认为这不是处理这种情况的正确方法,因为它有时不会重新创建活动。
我正在谈论的检查是使用:
protected void onSaveInstanceState(Bundle outState) {
outState.putString("started", "1");
}
无论如何,有人可以帮助我吗?我只希望它加载活动而不会对我造成自毁。
PS:虚拟机没有任何问题。VM 加载活动并完成它而不重新创建它。
PPS:在我的三星上进行了额外的测试,如果我将它保持在横向模式,它就会工作。因此,绝对是相机通过改变方向破坏了我的活动。