我从项目的WRITE_EXTERNAL_STORAGE和AssemblyInfo.cs文件中删除了AndroidMainfest.xml和AssemblyInfo.cs权限。
我上传了.apk来播放商店,并在捆绑权限中显示了写读权限。
然后,我在Android中使用.apk特性分析了Analyze APK,其中AndroidMainfest.xml有WRITE_EXTERNAL_STORAGE和READ_EXTERNAL_STORAGE。
尽管我在运行时请求CrossPermissions.Current.CheckPermissionStatusAsync(Permission.Storage),但是当我删除它并分析APK时,它仍然在Manifest文件中包含了WRITE_EXTERNAL_STORAGE和READ_EXTERNAL_STORAGE权限。
然后,我添加了android:requiredFeature="false"标志,以获得如下所示的写入和读取权限:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:requiredFeature="false" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:requiredFeature="false" />当我再次分析APK时,使用android:requiredFeature="false"的是写读权限。但是在Play Store中,它们和以前一样存在于捆绑权限中。
我不知道为什么这些权限会在那里结束?
发布于 2022-01-07 11:13:16
@Sergey注释:它们可以从从属库中合并。您可以检查正在使用的任何库是否在其报表文件中具有这些权限。
我查看了它,并找到了本文https://medium.com/glucosio-project/how-libraries-can-silently-add-permissions-to-your-android-app-620911d7de6c和https://github.com/Glucosio/glucosio-android/commit/2f48b314b82a252df2ca20cd2811c464e965887b。,它成功了,。
但是我用的是照相机,我把这些照片存储在Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)里。它需要WRITE_EXTERNAL_STORAGE和READ_EXTERNAL_STORAGE权限。
因此,我用FileSystem.CacheDirectory替换了路径,它起作用了(Intenral不需要Manifest文件中的读和写权限)。
https://stackoverflow.com/questions/70613520
复制相似问题