菲利普在Get phone orientation but fix screen orientation to portrait工作的完美解决方案对我来说:
可以使用的SensorManager类来获得Android设备的方向,即使在自动定向切换在清单由Android禁用:screenOrientation =“画像“
看到这个代码(由菲利普,见上面的链接):
SensorManager sensorManager = (SensorManager) this.getSystemService(Context.SENSOR_SERVICE);
sensorManager.registerListener(new SensorEventListener() {
int orientation=-1;;
@Override
public void onSensorChanged(SensorEvent event) {
if (event.values[1]<6.5 && event.values[1]>-6.5) {
if (orientation!=1) {
Log.d("Sensor", "Landscape");
}
orientation=1;
} else {
if (orientation!=0) {
Log.d("Sensor", "Portrait");
}
orientation=0;
}
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
// TODO Auto-generated method stub
}
}, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_GAME);
拿上这个一看:http://stackoverflow.com/a/41104983/2267723该解决方案使用的SensorManager。 –