我通过以下方式将我的活动定义为仅处于纵向模式:android:screenOrientation="portrait"
当我通过意图使用相机功能拍照时,以横向模式拍摄这张照片并在保存时将屏幕切换到纵向模式,我再次返回我的活动。我不明白的是,我的活动在短时间内处于横向模式,被破坏然后以纵向模式再次构建......因为我的 onCreate onRestore 功能需要一些时间,所以用户的等待时间加倍.. .
是否有解决方法或其他方法?
我通过以下方式将我的活动定义为仅处于纵向模式:android:screenOrientation="portrait"
当我通过意图使用相机功能拍照时,以横向模式拍摄这张照片并在保存时将屏幕切换到纵向模式,我再次返回我的活动。我不明白的是,我的活动在短时间内处于横向模式,被破坏然后以纵向模式再次构建......因为我的 onCreate onRestore 功能需要一些时间,所以用户的等待时间加倍.. .
是否有解决方法或其他方法?
您还可以通过添加android:configChanges="orientation"
到活动定义然后覆盖活动中的 onCofigurationChanged 方法来注册活动以显式处理任何方向更改,如下所示:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
我不确定它是否有助于解决您的具体问题,但我记得当我希望活动仅以纵向模式显示时这样做。让我知道它是否有帮助:)
添加android:configChanges="orientation"
到您的<activity>
标签。这样,活动将不会在方向更改时重新创建,而只会收到一个onConfigurationChanged
您可以忽略的回调。