如何删除requestLegacyExternalStorage权限和谷歌播放的后台位置
Expo和React Native模块默认包含一些权限。
如果您的应用程序不需要这些权限,只需在app.json
文件中添加:android.permissions: []
即可。就像这样:
"android": {
"permissions": [],
// ...
}
如果你的应用程序中的某些功能确实需要一些权限,请在此处查看你应该添加的权限:https://docs.expo.io/versions/latest/config/app/#permissions
另一个有用的提示:尝试将您的expo升级到最新的SDK。在SDK 40之后,一些权限变成了选择加入而不是选择退出。
基于Android开发人员版本,Android 11中的存储更新为外部存储上的应用程序和用户数据提供了更好的保护。https://developer.android.com/about/versions/11/privacy/storage
将您的应用程序更新到SDK 41以针对Android 11后,系统会忽略requestLegacyExternalStorage标志,无需执行任何操作,只需忽略此警告即可。
对于SDK 40及以下版本(针对Android 11之前(,Expo包括请求AndroidManifest中的LegacyExternalStorage以便选择正如谷歌文档所建议的那样。
对于SDK 41及以上版本(针对Android 11之后(,Expo更新库,以说明这些存储更改,如谷歌文档,仍然包括requestLegacyExternalStorage,正如谷歌在其文档中所述。
如果不可能进行更新,解决方案是从应用程序的清单中删除MANAGE_EXTERNAL_STORAGE权限,以便成功发布应用程序。