5

我的 android 应用程序将在后台运行,当方向改变时我需要立即通知。例如。当用户将手机从纵向旋转到横向(或横向到纵向)时,系统应该告诉我的应用程序方向已经改变。

谢谢。

4

3 回答 3

7

屏幕旋转时调用此方法

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
        //Do stuff here
}
于 2012-04-28T08:34:45.130 回答
3

您不必显式设置 Orientation 侦听器。

onConfigurationChanged将被系统调用。

@Override
public void onConfigurationChanged(Configuration myConfig) {
    super.onConfigurationChanged(myConfig);
    int orient = getResources().getConfiguration().orientation; 
    switch(orient) {
                case Configuration.ORIENTATION_LANDSCAPE:
                    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
                    break;
                case Configuration.ORIENTATION_PORTRAIT:
                    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
                    break;
                default:
                    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
                }
}
于 2012-04-28T08:44:08.483 回答
0

但是你可以在守护进程中实现 onConfigurationChanged。这里:服务

于 2015-03-06T20:21:27.437 回答