代号一首选项/存储权限



我在Google Play商店开发并发布了一个应用程序,它只向REST API发送简单的String请求,并将结果存储在Preferences中。同一应用也会提交到 Windows 应用商店进行发布,但由于以下原因被拒绝:

应用声明使用敏感功能 [音乐库、图片库、视频库],而不显示访问声明的功能。请删除敏感功能声明并重新提交应用。

在检查Google Play商店提交时,我注意到请求了相同的权限:

此应用程序可以访问:照片/

  1. 媒体/文件
    • 读取USB存储的内容
    • 修改或删除 USB 存储的内容
  2. 存储
    • 读取 USB 存储的内容
    • 修改或删除 USB 存储的内容
  3. 其他
    • 从互联网接收数据
    • 查看网络连接
    • 完全网络访问
    • 防止设备休眠

所以我的问题是,Preferences真的需要这些权限,还是我可以设置某种构建提示来删除这些权限请求,尤其是对于 UWP 构建?我也尝试设置android.blockExternalStoragePermission构建提示,但在 Android 构建中仍然请求权限。我还没有尝试过iOS构建,因为目前我没有苹果开发者帐户。

提前非常感谢你。

编辑#1(23/10/2018(:

经过进一步检查,我发现我错误地将没有声明android.blockExternalStoragePermission的版本上传到Google Play商店,所以在Android版本上一切都很好。

目前我没有使用任何 cn1libs,以下是我的应用程序中导入的所有类的列表:

  • java.util.HashMap
  • java.util.Map
  • java.util.Random
  • com.codename1.components.InfiniteProgress
  • com.codename1.components.ToastBar
  • com.codename1.components.ToastBar.Status
  • com.codename1.io.CharArrayReader
  • com.codename1.io.JSONParser
  • com.codename1.io.Log
  • com.codename1.io.NetworkManager
  • com.codename1.io.Preferences
  • com.codename1.io.rest.Response
  • com.codename1.io.rest.Rest
  • com.codename1.l10n.L10NManager
  • com.codename1.ui.Button
  • com.codename1.ui.Component
  • com.codename1.ui.Container
  • com.codename1.ui.Dialog
  • com.codename1.ui.FontImage
  • com.codename1.ui.Form
  • com.codename1.ui.Label
  • com.codename1.ui.events.ActionEvent
  • com.codename1.ui.events.ActionListener
  • com.codename1.ui.layouts.BorderLayout
  • com.codename1.ui.layouts.FlowLayout
  • com.codename1.ui.layouts.GridLayout
  • com.codename1.ui.plaf.Border
  • com.codename1.ui.plaf.Style
  • com.codename1.ui.plaf.UIManager
  • com.codename1.ui.util.Resources
  • 所以我最初的问题仍然存在,如何设置构建提示以防止在 Windows 和 iOS 中使用相同的外部存储读/写权限?

    请参阅此处标题为"Android 权限"的部分,以获取一些可能触发额外权限的 API 的列表。我建议从 XML 中提取清单并检查它。根据您的描述,它应该包括两个权限,您应该在那里有两个权限:

    • android.permission.WRITE_EXTERNAL_STORAGE- 当您应用android.blockExternalStoragePermission时,您应该已被禁用

    • android.permission.INTERNET- 你真正需要的这个

    我假设您拥有媒体访问的权限,这里变成了它来自哪里的问题?

    您是否使用了可能包含触发此问题的功能的 cn1lib?

    应用程序中是否有尚未激活的功能?

    一旦你有了这个调查的具体名称或结果,请在这里评论,我会用更详细的细节修改答案。

    最新更新