代号一个首选项/存储权限

时间:2018-10-09 09:07:44

标签: codenameone

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

  

该应用程序声明使用敏感功能[musicLibrary,picturesLibrary,videosLibrary],但似乎没有访问声明的功能。请删除敏感功能声明,然后重新提交应用。

在检查Google Play商店提交内容时,我发现要求的权限相同:

  

此应用有权访问:

  1. 照片/媒体/文件
    • 读取USB存储设备的内容
    • 修改或删除以下内容:您的USB存储设备
  2. 存储
    • 读取您的USB存储设备的内容
    • 修改或删除您的USB存储设备的内容
  3. 其他
    • 从Internet接收数据
    • 查看网络连接
    • 完全网络访问权限
    • 防止设备进入睡眠状态

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

非常感谢您。

编辑#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
  • { {1}}
  • com.codename1.ui.Container
  • com.codename1.ui.Dialog
  • com.codename1.ui.FontImage
  • {{1 }}
  • 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
  • 所以我的原始问题仍然存在,如何设置构建提示以防止Windows和iOS中具有相同的外部存储读/写权限?

    1 个答案:

    答案 0 :(得分:0)

    请参阅标题为“ Android权限” here的小节,以获取可能触发额外权限的某些API的列表。我建议从XML中提取清单并进行检查。根据您的描述,它应该包括两个权限,您应该在那里拥有两个权限:

    • android.permission.WRITE_EXTERNAL_STORAGE-应用android.blockExternalStoragePermission

    • 时应将其禁用
    • android.permission.INTERNET-您实际需要的那个

    我假设您已获得媒体访问权限,这变成了问题的来源?

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

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

    一旦您在此处有此调查评论的具体名称或结果,我将用更多详细信息修改答案。