问题:需要使用 Media Store Api 或无法访问文件 - 目标 sdk 为 30 时 Google Play 控制台拒绝
Posted
技术标签:
【中文标题】问题:需要使用 Media Store Api 或无法访问文件 - 目标 sdk 为 30 时 Google Play 控制台拒绝【英文标题】:Issue : Need to use Media Store Api or No Access to Files - Google Play Console Rejection when target sdk was 30 【发布时间】:2021-12-20 21:21:27 【问题描述】:嗨,编程小伙伴们
我已将我们的 apk 上传到 google play console,但他们拒绝了我们的 apk 并提到使用 Media Store Api 用于相机和图库。
我的应用已经实现并使用了 WRITE_EXTERNAL_STORAGE 和 READ_EXTERNAL_STORAGE 权限,并且在所有 android 版本上都可以正常工作
当我将目标 sdk 更改为 30 并提交应用程序时出现问题。这些是我用于 READ WRITE 操作的权限。
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="29"
/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
我也附上了谷歌播放拒绝的屏幕截图。以前我尝试使用 MANAGE_EXTERNAL_STORAGE 权限,但我们的应用仍然被拒绝
如果有人遇到此问题,请发布解决方案
谢谢...
Play Console Rejection
Play Console Rejection
【问题讨论】:
你的愿望已经满了。解决方案已在此处发布数倍于遇到相同问题的人。 你的应用的核心功能是什么? 你能分享这些问题的链接吗? @blackapps 我们的应用程序的核心功能是消息传递,但在提交我们的应用程序时没有任何功能可用于复选标记...@SagarMaiyad 对于消息传递,他们不允许您使用此权限。检查谷歌提供的允许使用列表。 【参考方案1】:在 Android 11 中,访问外部存储的方式发生了一些变化。
来源: Storage updates in Android 11
就我而言,我的问题是这样解决的:
我在路径 src/main/res/xml 中添加了 file_path.xml
FilePath
我使用 getExternalFilesDir 来获取设备存储中的文件。
之前:
val mPath = Environment.getExternalStorageDirectory().toString() + "/Ticket_" + date + ".jpeg"
之后:
val mPath = context.getExternalFilesDir(Environment.DIRECTORY_PICTURES).toString() + "/Ticket_" + date + ".jpeg"
希望能帮到你:)
【讨论】:
以上是关于问题:需要使用 Media Store Api 或无法访问文件 - 目标 sdk 为 30 时 Google Play 控制台拒绝的主要内容,如果未能解决你的问题,请参考以下文章
将 Windows Media Player 与 Windows Store App C++ 一起使用
Ant Media Server 的 iOS 框架不被 App Store 接受?
DOJO官方API翻译或解读-dojo/store (自定制存储器)
java.lang.RuntimeException:android.database.sqlite.SQLiteException:没有这样的表:media_store_extension(代码1)