React 本机映像选取器无法正常工作



我使用了反应原生图像选择器,有时我从相机拍照后,应用程序就会在 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时的另一个建议。您应该手动安装它。我看不出这会自动工作得很好。

希望它能帮助你。

最新更新