簡體   English   中英

Android動態壁紙服務-獲取屏幕旋轉

[英]Android live wallpaper service - get screen rotation

我嘗試為Android制作動態壁紙,但是我無法進行屏幕旋轉,因為LWP-這是一項服務,而不是活動。 我需要整數值(0/90/180/270),而不是方向(風景/肖像),例如如果我叫這樣的話:

((Activity) context).getResources().getConfiguration().orientation;

有可能的? 我嘗試了許多方法並閱讀了許多文章,但是我做不到,也找不到有用的信息。

謝謝!

所以,我找到了解決方案:)

public int getRotation() {
    int orientation = ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getOrientation();

    switch (orientation) {
        case Surface.ROTATION_90:  return 90;
        case Surface.ROTATION_180: return 180;
        case Surface.ROTATION_270: return 270;
        default: return 0;
    }
}

但就我而言,這有點問題,不知道為什么:如果將設備放置在0度位置(人像方向)並旋轉到180度,則不會檢測到任何東西,或者從90到270都不會被檢測到。 但是,如果您將設備從0旋轉到90或270,或者從90旋轉到180和0,依此類推-一切都很好(方向不同)。

暫無
暫無

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

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