我已经在Google Play商店中开发和发布了一个应用,该应用仅向REST API发送简单的String
请求并将结果存储在Preferences
中。相同的应用程序也已提交给Windows应用商店进行发布,但是由于以下原因而被拒绝:
该应用程序声明使用敏感功能[musicLibrary,picturesLibrary,videosLibrary],但似乎没有访问声明的功能。请删除敏感功能声明,然后重新提交应用。
在检查Google Play商店提交内容时,我发现要求的权限相同:
此应用有权访问:
- 照片/媒体/文件
- 读取USB存储设备的内容
- 修改或删除以下内容:您的USB存储设备
- 存储
- 读取您的USB存储设备的内容
- 修改或删除您的USB存储设备的内容
- 其他
- 从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
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
所以我的原始问题仍然存在,如何设置构建提示以防止Windows和iOS中具有相同的外部存储读/写权限?
答案 0 :(得分:0)
请参阅标题为“ Android权限” here的小节,以获取可能触发额外权限的某些API的列表。我建议从XML中提取清单并进行检查。根据您的描述,它应该包括两个权限,您应该在那里拥有两个权限:
android.permission.WRITE_EXTERNAL_STORAGE
-应用android.blockExternalStoragePermission
android.permission.INTERNET
-您实际需要的那个
我假设您已获得媒体访问权限,这变成了问题的来源?
您是否使用了可能包含触发此功能的cn1lib?
应用程序中是否有尚未激活的功能?
一旦您在此处有此调查评论的具体名称或结果,我将用更多详细信息修改答案。