【发布时间】:2022-12-18 18:36:21
【问题描述】:
在特定设备(搭载 Android 9 的三星 Galaxy S9)上,当我尝试通过 Exponent ImagePicker 打开相机时,出现以下错误:
Error: Call to function 'ExponentImagePicker.launchCameraAsync' has been rejected.
Caused by: kotlin.UninitializedPropertyAccessException: lateinit property cameraLauncher has not been initialized
它适用于 Android 9 模拟器,也适用于较新的 API 版本模拟器。 这在以前是有效的,但在更新 React Native 和其他库后似乎已停止工作。
我能做些什么吗?
代码:
import * as ImagePicker from 'expo-image-picker';
const MediaSelector: React.FC<Props> = (props) => {
const open = async () => {
const permissions = await ImagePicker.requestCameraPermissionsAsync();
if (!permissions.granted) return Alert.alert("permission denied!"))
const config: ImagePicker.ImagePickerOptions = {
mediaTypes: ImagePicker.MediaTypeOptions.Images,
allowsEditing: true,
allowsMultipleSelection: false,
exif: false,
aspect: [1, 1],
}
try {
const result = await ImagePicker.launchCameraAsync(config);
} catch (error) {
console.log(error)
Alert.alert("error!")
return
}
}
return <Pressable style={styles.container} onPress={open}>
<ImageView img={props.image}/>
</Pressable/>
}
版本:
"react": "18.0.0",
"expo-image-picker": "~13.3.1",
"react-native": "0.69.6",
【问题讨论】:
标签: android react-native expo