手机被强制横屏后Activity重启刷新问题解决

在三星手机调用拍照系统后,应用会被强制全屏,结果就是Activity被强制重新调用了onCreate,页面被刷新,如果只是Activity倒也好办,保存之前状态再还原即可。但是如果是在WebView中调用拍照系统就不好办了,因为可能已经打开好几层网页了,总不能吧所有reload的url状态都保存起来。解决方式:



重点在于:android:configChanges,加上这个属性后,问题解决。
看一下原因:
在activity加上android:configChanges="keyboardHidden|orientation"属性,就不会重启activity.而只是调用onConfigurationChanged(Configuration newConfig).这样就可以在这个方法里调整显示方式.

publicvoidonConfigurationChanged(Configuration newConfig) {
  try{
    super.onConfigurationChanged(newConfig);
    if(this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LAND  SCAPE) {
       Log.v("Himi","onConfigurationChanged_ORIENTATION_LANDSCAPE");
    }else if(this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_      PORTRAIT) {
        Log.v("Himi","onConfigurationChanged_ORIENTATION_PORTRAIT");
    }
  }catch(Exception ex) {}}

你可能感兴趣的:(手机被强制横屏后Activity重启刷新问题解决)