令人惊叹的开发者。我正在构建一个应用程序,它将提供机会,要么当场拍照并上传,要么从图库中选择一张图片。我正在使用react-native-image-picker
。到目前为止,我的生活很顺利,一切都在模拟器上顺利运行,然而,一旦我在我的Android设备上安装了APK文件,按下相机按钮没有做任何事情。没有错误,没有权限请求,什么都没有。在模拟器上,我没有在控制台中出现任何错误,它工作得很完美。
状态如下:
const [pickerResponse, setPickerResponse] = useState(null);
和具有onPress()函数的按钮:
<Button
title='Take A Photo'
color="darkgray"
onPress={() => launchCamera({mediaType: 'photo', saveToPhotos: true}, setPickerResponse)}
/>
<Button
title='Open Gallery'
color="darkgray"
onPress={() => launchImageLibrary({mediaType: 'photo'}, setPickerResponse)}
/>
我只在使用launchCamera
时遇到此问题,而在使用launchImageLibrary
时没有遇到此问题。我添加了以下权限:
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-feature android:name="android.hardware.camera" />
但它们没有产生任何影响,反而使我的模拟器停止工作。
这是我的第一个React原生应用程序,所以在正确的方向一点点推动将是非常感谢。祝你有一个伟大的周末。
2条答案
按热度按时间ktca8awb1#
所以问题是,我之前尝试的只是授予相机权限,而不是存储权限。因为在我的例子中,saveToPhotos设置为true,所以需要额外的存储访问权限。希望这能在将来帮助像我这样的新手。
};
q7solyqu2#
请尝试更改以下代码行:
打开图像库({媒体类型:'照片'},设置选取器响应)
到这个
打开图像库({媒体类型:'photo'},资源=〉设置选取器响应(资源))
看起来您没有正确传递回调响应