我使用了反应原生图像选择器,有时我从相机拍照后,应用程序就会在 android 中重新启动?谁能帮我解决这个问题?
此问题仅适用于 android X 或任何最新的 android 版本。为了解决此问题,您需要在AndroidManifest.xml
文件中添加以下行。
android:requestLegacyExternalStorage="true"
我希望它能解决您的问题。
我通过在AndroidManifest.xml
中添加权限来解决此问题。
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
可能是相机权限问题。确保您已授予摄像头、麦克风和图库的权限,这可能会解决您的问题。
Android 10 及更高版本中引入了范围存储,从而更改了隐私。
若要使用 requestLegacyExternalStorage manifest 属性选择退出该功能,请执行以下操作:
<application
android:name=".MainApplication"
android:requestLegacyExternalStorage="true" ...
注意:此标志允许应用暂时选择退出与作用域存储关联的更改,例如授予对不同目录和不同类型的媒体文件的访问权限。将应用更新为以 Android 11 为目标平台后,系统会忽略请求旧版外部存储标志。
最佳做法是使用作用域存储,除非你的应用需要访问不驻留在特定于应用的目录中的文件。
您的权限或节点模块可能有问题
1. 尝试添加权限
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
2. 卸下所有节点模块并重新安装,如下所示
npm install
react-native link
除了@subhash发布的内容之外,您需要编辑位于此处的AndroidManifest.xml
:
/projectfolder/android/app/src/main/AndroidManifest.xml
,紧接在开场<manifest>
标签之后。所以它应该看起来像这样:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.projectname">
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
你完成这一步了吗? http://prntscr.com/hftojg我遇到了麻烦,结果发现没有提供许可。
安装react-native-image-picker
时的另一个建议。您应该手动安装它。我看不出这会自动工作得很好。
希望它能帮助你。