Java 取消注册类型_方向传感器
在为传感器类型\ U方向注册侦听器后,我无法注销它,以便它停止报告方向更改(软件类型传感器)。我知道TYPE_定向已被弃用。这只是这种传感器类型的id“3” 我可以注册和注销任何其他东西(加速器、陀螺仪、旋转向量…)Java 取消注册类型_方向传感器,java,android,sensors,Java,Android,Sensors,在为传感器类型\ U方向注册侦听器后,我无法注销它,以便它停止报告方向更改(软件类型传感器)。我知道TYPE_定向已被弃用。这只是这种传感器类型的id“3” 我可以注册和注销任何其他东西(加速器、陀螺仪、旋转向量…) 第一:您正在检查“传感器.类型\方向”是否未包含在“所有传感器”列表中,或者您正在代码的某个点将该传感器添加到列表中 第二:由于“Sensor.TYPE_ORIENTATION”已被弃用,我建议使用“OrientationEventListener”,代码如下: Orientat
第一:您正在检查“传感器.类型\方向”是否未包含在“所有传感器”列表中,或者您正在代码的某个点将该传感器添加到列表中 第二:由于“Sensor.TYPE_ORIENTATION”已被弃用,我建议使用“OrientationEventListener”,代码如下:
OrientationEventListener orientationEventListener = new OrientationEventListener(this)
{
@Override
public void onOrientationChanged(int orientation)
{
Log.e(TAG, "orientation = " + orientation);
}
};
orientationEventListener.enable();
要阻止听众:
if(orientationEventListener != null) {
orientationEventListener.disable();
}
orientationEventListener = null;
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
我希望能帮助你:D 我在循环中注册了传感器,并在值更改时注册和回调SensorChange。然而,取消注册对我来说是不可能的。该传感器报告x、y、z平面的3个值,这与其他类型的传感器类似。
if(orientationEventListener != null) {
orientationEventListener.disable();
}
orientationEventListener = null;
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);