【问题标题】:Detecting screen orientation change from service [duplicate]从服务检测屏幕方向变化[重复]
【发布时间】:2011-08-05 05:35:13
【问题描述】:

一个非常简单直接的问题......服务是否可以检测屏幕方向的变化?如果有,怎么做?

【问题讨论】:

    标签: android service screen orientation


    【解决方案1】:

    此链接将回答您的问题:How do I use a service to monitor Orientation change in Android

    您还可以创建一个BroadcastReceiver 来监听Intent.ACTION_CONFIGURATION_CHANGED ("android.intent.action.CONFIGURATION_CHANGED")

    【讨论】:

      【解决方案2】:

      试试这个代码

      @Override
      public void onConfigurationChanged(Configuration newConfig) {
          Log.d("tag", "config changed");
          super.onConfigurationChanged(newConfig);
      
          int orientation = newConfig.orientation;
          if (orientation == Configuration.ORIENTATION_PORTRAIT)
              Log.d("tag", "Portrait");
          else if (orientation == Configuration.ORIENTATION_LANDSCAPE)
              Log.d("tag", "Landscape");
          else
              Log.w("tag", "other: " + orientation);
      
          ... 
      }
      

      在安卓清单文件中

      <activity android:name="..."
          android:label="@string/app_name"
          android:screenOrientation="sensor"
          android:configChanges="orientation|keyboardHidden">
      

      【讨论】:

      • 此解决方案适用于辅助功能服务。您可以覆盖 onConfigurationChanged() 并检测服务中的更改。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-16
      相关资源
      最近更新 更多