React本机图像选择器无法正常运行

时间:2017-10-10 08:57:53

标签: react-native react-native-android

我使用了react-native-image-picker,有时我从相机拍照,应用程序会在android中重新启动?任何人都可以帮我解决这个问题吗?

7 个答案:

答案 0 :(得分:3)

此问题只会出现在 android X 或任何最新的android版本上。为了解决此问题,您需要在AndroidManifest.xml文件中添加以下行。

android:requestLegacyExternalStorage="true"

我希望它能解决您的问题。

答案 1 :(得分:2)

我通过在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" />

答案 2 :(得分:1)

可能是相机许可问题。确保您已授予相机,麦克风和图库权限,这可能会解决您的问题。

答案 3 :(得分:0)

您的权限或节点模块可能有问题

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

答案 4 :(得分:0)

在@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" />

答案 5 :(得分:0)

通过引入范围存储,Android 10及更高版本中的隐私发生了变化。

通过使用requestLegacyExternalStorage清单属性选择退出该功能:

library(glue)
X_l <- lapply(1:length(l), function(i)glue("l[[{i}]]$l_l*a"))
X_l
# [[1]]
# l[[1]]$l_l*a

# [[2]]
# l[[2]]$l_l*a

注意:此标志允许应用程序暂时退出与范围存储相关的更改,例如授予对不同目录和不同类型媒体文件的访问权限。将应用更新为Android 11之后,系统将忽略requestLegacyExternalStorage标志。

除非您的应用需要访问不在应用特定目录中的文件,否则最好使用范围存储。

答案 6 :(得分:-1)

你做了这一步吗? http://prntscr.com/hftojg 我遇到了麻烦,结果证明没有提供许可。

安装react-native-image-picker时还有一条建议。您应该手动安装它。我没有看到自动运作良好。

希望它可以帮到你。