我想知道在重新创建活动时处理不可恢复的运行过程的正确方法是什么。
例如,我有一个JNI模块用于向服务器进行身份验证。我在我的活动的OnCreateView()
中创建了这个对象的新实例,为它设置了一些回调例程。现在,通过按下按钮,我异步启动我的身份验证过程。身份验证只有1秒,但如果我的活动在身份验证过程中重新创建(例如我从纵向切换到横向),我的JNI对象将被重新创建并且混乱身份验证过程。我无法保存身份验证过程。
现在你对这种情况有什么建议?一个想法是在服务中运行身份验证过程,与活动重新创建完全分开。我想知道是否还有其他更简单的方法。
答案 0 :(得分:0)
将configChanges添加到Manifest中的活动。
<activity
android:name="com.yourActivity"
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:label="@string/app_name"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
答案 1 :(得分:0)
当方向改变时是否有必要重新创建活动?
如果没有,那么你可以做@Naveen所建议的,不会重新创建你的活动。