再次感叹Android的碎片化!!!!
设置AndroidManifest.xml中Activity的android:configChanges=”keyboardHidden|orientation|screenSize”
Android4.0需设置screenSize才有效果.
2.2,2.3这些只需设置keyboardHidden|orientation
4.0 --> keyboardHidden|orientation|screenSize
<activity android:name=".MainActivity" android:configChanges="keyboardHidden|orientation|screenSize" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
@Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); if(this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { Log.v(TAG, "ORIENTATION_LANDSCAPE"); } if(this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { Log.v(TAG, "ORIENTATION_PORTRAIT"); } if (newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_NO) { } else if (newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_YES) { } }