Java 当我的设备将方向更改为纵向倒置(180度)时,如何获得通知?
当我的设备旋转180度时,我需要激活一些东西(getRotation()应该返回2)。然而,我只读的帖子说,0度、90度和270度是收到通知的唯一角度。这个设备是专用的吗?Java 当我的设备将方向更改为纵向倒置(180度)时,如何获得通知?,java,android,android-layout,android-orientation,android-screen,Java,Android,Android Layout,Android Orientation,Android Screen,当我的设备旋转180度时,我需要激活一些东西(getRotation()应该返回2)。然而,我只读的帖子说,0度、90度和270度是收到通知的唯一角度。这个设备是专用的吗? 什么设备返回2 每当您旋转设备时,都会调用活动的onCreate()方法,因此您可以通过调用活动的onCreate()来查找设备的旋转: 但是,它不会检测到旋转常数2。根据API,未指定是方向的默认值: 默认值。系统选择方向。它的政策 用途以及在特定环境中所做的选择可能会有所不同 从一个设备到另一个设备 我猜screenOr
什么设备返回2 每当您旋转设备时,都会调用活动的
onCreate()
方法,因此您可以通过调用活动的onCreate()
来查找设备的旋转:
但是,它不会检测到旋转常数2。根据API,未指定是方向的默认值:
默认值。系统选择方向。它的政策
用途以及在特定环境中所做的选择可能会有所不同
从一个设备到另一个设备
我猜screenOrientation:unspecified
无法检测所有4个角度。从API中我们还可以看到几个选项,其中一个是“fullsensor”,API声明:
方向由任何设备的设备方向传感器确定
四个方向中的一个。这与“传感器”类似,只是允许
4种可能的屏幕方向中的任意一种,无论
设备正常运行(例如,某些设备不正常使用
反向纵向或反向横向,但这将启用这些)。补充
在API级别9中
因此,要解决此问题,请转到清单文件并向活动添加屏幕方向,如下所示:
<activity
android:name="com.example.androidactivitystart.ActivityA"
android:label="@string/app_name"
android:screenOrientation="fullSensor" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
我们只对180度感兴趣,或者说横向检测能解决您的问题吗?我现在和以前的手机都不做倒立拍摄,所以我猜是特定于设备的。
<activity
android:name="com.example.androidactivitystart.ActivityA"
android:label="@string/app_name"
android:screenOrientation="fullSensor" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>