android后台监听横竖屏的两种方式

当我们的应用在后台的时候需要监听系统的屏幕旋转,在activity里面重写onConfigurationChanged是不能监听到的,这时有两种方式可以实现后台监听。

一、写一个service然后重写onConfigurationChanged,即使程序退到后台,但是屏幕旋转的时候service的监听任然还是会回调

二、动态注册一个广播

这个广播只能在java代码中动态注册,不能在xml文件中注册,否则不会起作用

通过动态注册广播监听


IntentFilter intentFilter = new IntentFilter();

intentFilter.addAction("android.intent.action.CONFIGURATION_CHANGED");

registerReceiver(mOrientationReciver,intentFilter);

然后在广播里面判断屏幕的旋转角度

private class orientationReciverextends BroadcastReceiver
{
@Override
    public void onReceive(Context context, Intent intent) {
Log.i(TAG, "onReceive: "+MainActivity.this.getWindowManager().getDefaultDisplay().getRotation()*90);
    }
}

你可能感兴趣的:(android后台监听横竖屏的两种方式)