如果应用程序中未写入权限代码,Play 商店会发出红旗吗?

问题描述 投票:0回答:1

我是开发初学者。我必须添加一个功能来允许用户从内部存储中选择图像。

我想知道是否必须为此功能编写请求权限的代码。如果我不写,当用户安装应用程序时,Playstore 会发出红旗吗?

谢谢

android flutter google-play mobile-application
1个回答
0
投票

如果您没有请求适当的权限,应用程序将无法执行请求 - 它只会失败。

您应该确保在清单中包含适当的权限。

我相信,如果您使用 flutter 提供的

image_picker
插件,它应该已经为您处理了这个问题(至少对于 Android 来说,iOS 需要将内容添加到 info.plist 中)。这通常是选择图像的推荐方式,而不是编写代码直接从存储中读取文件。

插件会自动将类似的内容添加到您的清单中:

<!-- Devices running Android 12L (API level 32) or lower  -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32" />

<!-- Devices running Android 13 (API level 33) or higher -->
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />

<!-- To handle the reselection within the app on Android 14 (API level 34) -->
<uses-permission android:name="android.permission.READ_MEDIA_VISUAL_USER_SELECTED" />

如果您要直接使用存储中的图像,则需要执行以下操作:

<-- Devices running Android 12L (API level 32) or lower -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<-- Devices running Android > 12 -->
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>

然后在运行时使用类似

permission_handler
.

的内容请求适当的权限

但是,在 android > 12 上,MANAGE_EXTERNAL_STORAGE 权限被视为高权限,因此您需要证明为什么需要它来发布应用程序。这种权限不会提供简单的弹出窗口,而是要求用户在设置中将其打开。

© www.soinside.com 2019 - 2024. All rights reserved.