我遇到了一个我似乎无法找到任何逻辑的错误.我有这个File对象,它是这样创建的:
File file = new File("utilities/data/someTextFile.txt");
Run Code Online (Sandbox Code Playgroud)
然后我做了file.exists(),它返回false(!?).如果找不到该文件,我正在登录f.getAbsolutePath()文件.当我看路径时,似乎没问题.我可以将完整路径复制粘贴到Windows中的"运行"窗口,文件打开正常.
该文件始终存在,在我的应用程序运行期间不会被删除或更改.它位于本地机器上.
这似乎只在某些情况下发生.我可以随时重现故障,但我确信文件对象的路径不会因我为重现故障而采取的操作而改变.
什么可以导致file.exists()返回虚假?这是否与权限或文件锁等有关?
我的应用程序帮助用户管理whatsapp贴纸链接到应用程序,它在第一个版本中支持SDK30,但在该版本之后,当我尝试更新应用程序Playstore的新版本时,我的应用程序状态被拒绝,我尝试了多次,我提到了导致应用程序描述中甚至在应用程序中请求许可时获得许可,但我的应用程序都没有更新,我的应用程序的短描述和长描述都没有更新。我也填写了敏感许可表,每当我尝试发布新版本时,谷歌都会发送给我
发布状态 应用程序状态: 已拒绝
您的应用因违反政策而被拒绝且未发布。如果您提交了更新,则您的应用的先前版本仍然可以在 Google Play 上找到。
问题:不需要访问设备存储
您确定的功能不需要不受限制地访问设备存储。还有其他隐私保护选项可用于访问共享存储中的文件,例如使用系统文件选择器,或者根据使用案例,您可以按照此处列出的从其他应用程序接收数据的建议进行操作。
请更新您的应用程序,以便该功能使用隐私友好的替代方案,并删除所有文件访问 (MANAGE_EXTERNAL_STORAGE) 权限。
策略:所有文件访问权限
用户设备上的文件和目录属性被视为个人和敏感用户数据,须遵守个人和敏感信息政策以及以下要求:
应用程序应仅请求访问对于应用程序运行至关重要的设备存储,并且不得代表任何第三方请求访问设备存储以用于与面向用户的关键应用程序功能无关的任何目的。运行 Android“R”(Android 11) 或更高版本的 Android 设备将需要 MANAGE_EXTERNAL_STORAGE 权限才能管理共享存储中的访问。所有面向 R 或更高版本并请求对共享存储进行广泛访问(“所有文件访问”)的应用程序都必须在发布之前成功通过适当的访问审核。允许使用此权限的应用程序必须明确提示用户在“特殊应用程序访问”设置下为其应用程序启用“所有文件访问”。有关 R 要求的更多信息,请参阅此帮助文章。
阅读有关使用所有文件访问权限的更多信息 请参阅 Android 存储用例和最佳实践以及如何使用存储访问框架打开文件 在 Play Console 中解决此问题。问题:不是核心功能
您确定的依赖于此权限的功能似乎对您的应用程序的核心功能并不重要。
核心功能被定义为应用程序的主要目的。如果没有这个核心功能,应用程序就会“损坏”或变得无法使用。核心功能以及构成此核心功能的任何核心功能都必须在应用程序的描述中突出记录和推广。
请更新您的应用,以便该功能不会使用此权限,或者确保核心功能在应用的描述中得到显着记录和宣传,然后在 Play 开发者控制台上重新提交您的应用。
策略:所有文件访问权限
用户设备上的文件和目录属性被视为个人和敏感用户数据,须遵守个人和敏感信息政策以及以下要求:
应用程序应仅请求访问对于应用程序运行至关重要的设备存储,并且不得代表任何第三方请求访问设备存储以用于与面向用户的关键应用程序功能无关的任何目的。运行 Android“R”(Android 11) 或更高版本的 Android 设备将需要 MANAGE_EXTERNAL_STORAGE 权限才能管理共享存储中的访问。所有面向 R 或更高版本并请求对共享存储进行广泛访问(“所有文件访问”)的应用程序都必须在发布之前成功通过适当的访问审核。允许使用此权限的应用程序必须明确提示用户在“特殊应用程序访问”设置下为其应用程序启用“所有文件访问”。有关 R 要求的更多信息,请参阅此帮助文章。
阅读有关使用所有文件访问权限的更多信息 查看 Android 存储使用案例和最佳实践 在 Play 管理中心解决此问题。
问题:需要使用 Media Store API您已请求访问所有文件访问权限,但您的应用程序的核心功能似乎只需要访问媒体文件。借助 MediaStore API,应用程序可以贡献和访问外部存储卷上可用的媒体,而无需访问所有文件权限。
请更新您的应用,以便该功能使用媒体存储 API 并删除所有文件访问 (MANAGE_EXTERNAL_STORAGE) 权限。
策略:所有文件访问权限
用户设备上的文件和目录属性被视为个人和敏感用户数据,须遵守个人和敏感信息政策以及以下要求:
应用程序应仅请求访问对于应用程序运行至关重要的设备存储,并且不得代表任何第三方请求访问设备存储以用于与面向用户的关键应用程序功能无关的任何目的。运行 Android“R”(Android 11) …
android release google-play android-studio google-play-console
请帮助我获取权限“ WRITE_EXTERNAL_STORAGE”和“ WRITE_SETTINGS”的请求代码。还请让我知道请求代码的来源。
performance android android-layout android-fragments android-studio