簡體   English   中英

如何注冊聽眾以改變方向?

[英]How to register a listener for orientation change?

我的Android應用程序將在后台運行,我需要在方向更改時立即通知。 例如。 當用戶將手機從縱向旋轉到橫向(或橫向到縱向)時,系統應該告訴我的應用程序方向已更改。

謝謝。

屏幕旋轉時調用此方法

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
        //Do stuff here
}

您不必顯式設置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);
                }
}

但是您可以在守護進程中實現onConfigurationChanged。 在這里: 服務

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM