#reactjs #react-native #expo #screen-orientation
#reactjs #react-native #expo #ориентация экрана
Вопрос:
Я не хочу показывать сообщение пользователю, если его ориентация устройства заблокирована, и у меня возникают проблемы с доступом к этой информации.
Я пытался использовать getOrientationLockAsync, но это возвращает только блокировку ориентации приложений. Вот код, который я нам
import { StatusBar } from 'expo-status-bar';
import React from 'react';
import { StyleSheet, Text, View } from 'react-native';
import * as ScreenOrientation from 'expo-screen-orientation';
export default function App() {
ScreenOrientation.getOrientationLockAsync().then((res) => {
console.log('getOrientationLockAsync', res)
})
return (
<View style={styles.container}>
<Text>Open up App.js to start working on your app!</Text>
<StatusBar style="auto" />
</View>
);
}
И это всегда возвращает то, что установлено в app.json независимо от того, устанавливаю ли я ориентацию устройства на книжную или альбомную.
Если мой app.json выглядит так:
{
"expo": {
"name": "expo-ex",
"slug": "expo-ex",
"version": "1.0.0",
"orientation": "default",
...
}
}
getOrientationLockAsync всегда будет возвращать ‘0’, что соответствует ‘OrientationLock.ПО УМОЛЧАНИЮ ‘даже если я заблокирую ориентацию устройства на альбомную.
Я также попробовал функцию screenOrientation.getPlatformOrientationLockAsync(), но это также не помогает.
Устройство, которое я использую, — Samsung s10e, а версия SDK expo равна 40.