为什么 Expo Bare Workflow Android Project 会自动授予文件和媒体权限?
Why does Expo Bare Workflow Android Project automatically grant the File and Media Permission?
问题: 我刚刚将我的 React-Native/Expo 裸工作流项目更新为 Expo SDK 43,并使用 MediaLibrary expo 包保存文件。问题是我使用 MediaLibrary.requestPermissionsAsync
并且它从不要求用户授予 WRITE_INTERNAL_STORAGE
和 READ_INTERNAL_STORAGE
。经过进一步检查,它似乎自动授予了这些权限。我如何让它停止这样做?
我的尝试: 我已经确保我的 Android 清单同时包含 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE">
和 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
。我已经从我的设备上卸载了该应用程序并重新安装,但仍然授予了权限。在这一点上,我不知道如何解决这个问题,因为我在网上找到的任何类似问题都只显示了对托管工作流 Expo 项目的修复。
以下是我使用的所有版本:
世博会:43.0.3,
世博会媒体库:13.0.3,
像素 3a 运行 Android 12,
反应本机:0.64.3
如果需要更多信息,请告诉我。
编辑:我还在三星设备 运行 Android 版本 9 上对其进行了测试,它仍然自动授予 WRITE_EXTERNAL_STORAGE
和 READ_EXTERNAL_STORAGE
权限。
我发现如果我使用 npx react-native run-android
在我的设备上加载应用程序,它会自动授予 READ_EXTERNAL_STORAGE
和 WRITE_EXTERNAL_STORAGE
的权限,而无需请求用户授予权限。相反,如果我进入我项目的 android 文件夹并使用 ./gradlew assembleRelease
(或调试)构建 APK 并将 APK 旁加载到我的设备上,它将要求用户授予所需的权限。这样做还解决了我遇到的一个问题,该问题导致我从 @expo/vector-icons
导入的图标未与我的应用程序的发布版本捆绑在一起。
问题: 我刚刚将我的 React-Native/Expo 裸工作流项目更新为 Expo SDK 43,并使用 MediaLibrary expo 包保存文件。问题是我使用 MediaLibrary.requestPermissionsAsync
并且它从不要求用户授予 WRITE_INTERNAL_STORAGE
和 READ_INTERNAL_STORAGE
。经过进一步检查,它似乎自动授予了这些权限。我如何让它停止这样做?
我的尝试: 我已经确保我的 Android 清单同时包含 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE">
和 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
。我已经从我的设备上卸载了该应用程序并重新安装,但仍然授予了权限。在这一点上,我不知道如何解决这个问题,因为我在网上找到的任何类似问题都只显示了对托管工作流 Expo 项目的修复。
以下是我使用的所有版本: 世博会:43.0.3, 世博会媒体库:13.0.3, 像素 3a 运行 Android 12, 反应本机:0.64.3
如果需要更多信息,请告诉我。
编辑:我还在三星设备 运行 Android 版本 9 上对其进行了测试,它仍然自动授予 WRITE_EXTERNAL_STORAGE
和 READ_EXTERNAL_STORAGE
权限。
我发现如果我使用 npx react-native run-android
在我的设备上加载应用程序,它会自动授予 READ_EXTERNAL_STORAGE
和 WRITE_EXTERNAL_STORAGE
的权限,而无需请求用户授予权限。相反,如果我进入我项目的 android 文件夹并使用 ./gradlew assembleRelease
(或调试)构建 APK 并将 APK 旁加载到我的设备上,它将要求用户授予所需的权限。这样做还解决了我遇到的一个问题,该问题导致我从 @expo/vector-icons
导入的图标未与我的应用程序的发布版本捆绑在一起。