Android Framework 中使用代码关闭和打开屏幕旋转功能

 ContentResolver resolver = getContext().getContentResolver();
  //关闭
  Settings.System.putInt(resolver, Settings.System.ACCELEROMETER_ROTATION, 0);
  //打开
  Settings.System.putInt(resolver, Settings.System.ACCELEROMETER_ROTATION, 1);

这种方法的效果相当于用户在设置中对屏幕旋转选项的操作。

如果你工作在Framework层,还有一个更灵活的 方法

Android 中 OrientationEventListener 的使用

 class MyOrientationEventListener extends OrientationEventListener {
        public MyOrientationEventListener(Context ctx, int rate) {
            super(ctx, rate);
        }

        @Override
        public void onOrientationChanged(int orientation) {
            if (orientation == 0 || orientation == 90 || orientation == 270) {
                Log.d("NotificationPanelView", "onOrientationChanged");
            }
        }
    }

 boolean mCanDetectOrientation;
 MyOrientationEventListener myOrientationEventLister;

 myOrientationEventLister = new MyOrientationEventListener(
                getContext(), SensorManager.SENSOR_DELAY_FASTEST);
        if (myOrientationEventLister.canDetectOrientation()) {
            mCanDetectOrientation = true;
        } else {
            mCanDetectOrientation = false;
        }

  if (mCanDetectOrientation)
                myOrientationEventLister.enable();

  if (mCanDetectOrientation)
                myOrientationEventLister.disable();

Ubuntu 修改 MAC 地址

OS: ubuntu 12.04

命令行方式

ifconfig eth0 down
ifconfig eth0 hw ether [00:00:00:00]
ifconfig eth0 up

修改系统文件方式

/etc/network/interfaces

iface eth0 inet static

pre-up ifconfig eth0 hw ether [00:00:00:00]

address 192.168.2.100
netmask 255.255.255.0
gateway 192.168.0.1

Android 中 onSaveInstanceState的执行时机

在以下情况下系统会自动执行onSaveInstanceState: 即当系统“未经你许可”时销毁了activity,系统会调用onSaveInstanceState。

  • 按下HOME键时

  • 跳转到其他activity时

  • 屏幕旋转时

  • 按下电源键关闭屏幕时

当用户按下返回键或者明确销毁一个Activity的时候,系统是不会执行onSaveInstanceState的。

onRestoreInstanceState方法会在上面描述的步骤基础上并且Activity的确被销毁的情况下才会执行,换言之,如果仅仅发生了上面的操作,但是Activity并没有真正被销毁(还在Activity栈中)的情况下系统是不会执行onRestoreInstanceState方法的。 onSaveInstanceState和onRestoreInstanceState不一定的是成对出现的。

github: https://github.com/lnmcc/TestAction.git

Android Service framework

Android Service Framework

Android Service Framework

Android Service Framework

Android Service Framework

ref: 《Android框架揭秘》