如何检查Accelerometer是否支持React Native和EXPO?
我尝试了以下
const accel = Accelerometer.addListener(this.determineShake);
if (!accel) //not supported, do something else
这不起作用。
答案 0 :(得分:0)
从他们的实现看来,他们似乎在本地检查它是否处于活动状态,然后决定调用回调:
if ([[self manager] isAccelerometerAvailable]) {
_accelerometerHandlers[scopedSensorModule] = handlerBlock;
}
因此,您可能希望通过catch
实例的Accelerometer
子句与Expo分离并使用the suggested solution from @Nino9612:
new Accelerometer()
.then(observable => ...)
.catch(error => console.warn('The sensor is not available'));
https://github.com/react-native-sensors/react-native-sensors#sensor-api
答案 1 :(得分:0)
Accelerometer.isAvailableAsync()
此API返回一个Promise,该Promise解析为一个表示传感器可用性的布尔值。在doc.expo.ios/accelerometer
中查看详细信息