Проверьте, выбрана ли соответствующая цель или нет из active scheme selector
. Выбор Generic iOS Device
решил мою проблему.
Нажмите, чтобы выбрать симулятор
Выберите Generic iOS Device
измените
<activity
android:name=".SecretActivity"
android:configChanges="orientation|screenSize"
android:windowSoftInputMode="adjustResize" />
на
<activity android:name=".SecretActivity" android:configChanges="screenSize|orientation|screenLayout|navigation"/>
и, пожалуйста, проверьте этот ответ второй ответ, который я имею в виду.
Хм, проверьте манифест, добавьте / измените
android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"
Если у вас есть активность с неопределенной ориентацией экрана, устройства обычно игнорируют поворот на 180 ° и поддерживают только одно альбомное направление.
Чтобы поддерживать все направления, добавьте явный атрибут screenOrientation
к вашей записи манифеста активности: user
или sensor
, в зависимости от того, хотите ли вы поддерживать блокировку ориентации устройства пользователем или нет.
OrientationEventlistener не будет работать, когда устройство не вращается / движется.
Я считаю, что прослушивание экрана - лучший способ обнаружить изменение.
DisplayManager.DisplayListener mDisplayListener = new DisplayManager.DisplayListener() {
@Override
public void onDisplayAdded(int displayId) {
android.util.Log.i(TAG, "Display #" + displayId + " added.");
}
@Override
public void onDisplayChanged(int displayId) {
android.util.Log.i(TAG, "Display #" + displayId + " changed.");
}
@Override
public void onDisplayRemoved(int displayId) {
android.util.Log.i(TAG, "Display #" + displayId + " removed.");
}
};
DisplayManager displayManager = (DisplayManager) mContext.getSystemService(Context.DISPLAY_SERVICE);
displayManager.registerDisplayListener(mDisplayListener, UIThreadHandler);
onDisplayChanged срабатывает только в точности при изменении getRotation (). OrientationEventListener, с другой стороны, постоянно запускается в реальном времени и даже до изменения getRotation (), что приводит к совершенно неправильным значениям поворота экрана при повороте на 180 ° с перспективы.