代号一首选项/存储权限
Posted
技术标签:
【中文标题】代号一首选项/存储权限【英文标题】:Codename One Preferences/Storage permissions 【发布时间】:2018-10-09 09:07:43 【问题描述】:我在 Google Play 商店中开发并发布了一个应用程序,它只向 REST API 发送简单的String
请求并将结果存储在Preferences
中。同一个应用也提交到 Windows 应用商店发布,但由于以下原因被拒绝:
应用声明使用敏感功能 [musicLibrary、picturesLibrary、videosLibrary],但似乎没有访问声明的功能。请移除敏感能力声明并重新提交应用。
在检查 Google Play 商店提交后,我注意到请求了相同的权限:
此应用可以访问:
照片/媒体/文件 读取 USB 存储的内容 修改或删除 USB 存储的内容 存储 读取 USB 存储的内容 修改或删除 USB 存储的内容 其他 从 Internet 接收数据 查看网络连接 完整的网络访问权限 防止设备休眠
所以我的问题是,Preferences
是否真的需要这些权限,或者我可以设置某种构建提示来删除这些权限请求,尤其是对于 UWP 构建?我也尝试设置 android.blockExternalStoragePermission
构建提示,但在 Android 构建中仍然需要权限。由于目前我还没有 Apple Developer 帐户,因此我还没有尝试过 ios 构建。
非常感谢您。
编辑 #1(2018 年 10 月 23 日):
经过进一步检查,我发现我错误地将未声明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 中的相同外部存储读/写权限?
【问题讨论】:
【参考方案1】:请参阅标题为“Android 权限”here 的部分,了解可能触发额外权限的一些 API 的列表。我建议从 XML 中提取清单并检查它。根据您的描述,它应该包括两个权限,您应该在那里有两个权限:
android.permission.WRITE_EXTERNAL_STORAGE
- 应用 android.blockExternalStoragePermission
时应该禁用它
android.permission.INTERNET
- 你真正需要的这个
我假设您有媒体访问权限,这里就变成了它来自哪里的问题?
您是否使用了可能包含触发此功能的 cn1lib?
您的应用中是否有尚未启用的功能?
一旦您在此处获得此调查评论的具体名称或结果,我将修改答案并提供更多详细信息。
【讨论】:
抱歉回复晚了,但请查看我对问题的编辑。非常感谢@ShaiAlmog。 iOS 不需要该权限并且“正常工作”。我在该列表中没有看到任何可疑类,我必须检查 UWP 端口以上是关于代号一首选项/存储权限的主要内容,如果未能解决你的问题,请参考以下文章