【问题标题】:Android live wallpaper service - get screen rotationAndroid动态壁纸服务-获取屏幕旋转
【发布时间】:2016-06-21 22:57:11
【问题描述】:

我尝试为 android 制作动态壁纸,但我无法获得屏幕旋转,因为 lwp - 这是一项服务,而不是活动。我需要整数值(0/90/180/270),而不是方向(横向/纵向),就像我这样称呼:

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

有可能吗?我尝试了很多方法,阅读了很多文章,但我做不到,也找不到有用的信息。

谢谢!

【问题讨论】:

标签: java android live-wallpaper


【解决方案1】:

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

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 等等 - 一切都很好(不同的方向)。

【讨论】:

  • 我找到了旋转错误的原因 - Go Ex 启动器!有了另一个 lauchers,一切都很好!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多