1.前面写到设置重力感应 通过SensorManager。registerListener()注册了 一个重力感应的监听, 在相应的生命周期注册和解除注册重力监听以达到节省资源的目的
其核心在与 监听到重力变化时 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
当用户关闭了系统的屏幕旋转,他也会不再跟随重力感应而旋转方向
自己也可以在代码里通过以下方法来控制屏幕旋转的开关,但是我在应用中又碰到一个问题,当自己调用关闭系统屏幕旋转的方法时,当前屏幕的方向会旋转到最初的方向,这就比较烦人了…
public void lockCurrentOrientation() {
// try {
// mLastScreenChangedIfOpen = Settings.System.getInt(getContentResolver(),Settings.System.ACCELEROMETER_ROTATION);
// } catch (SettingNotFoundException e) {
// e.printStackTrace();