gpt4 book ai didi

android - 如何在 Android 11 中实现 New Storage API?

转载 作者:行者123 更新时间:2023-12-04 12:09:30 24 4
gpt4 key购买 nike

场景
我有两个应用程序,一个是Tracker App,它记录来电和去电并压缩这些文件,并将文件路径通过Inter-Process Communication发送到主应用程序。它将这些文件上传到服务器。
现在我将这两个应用程序升级到 Android 11。在 Tracker 应用程序中,我正在使用 MediaStore.Files API保存文件并尝试使用主应用程序中的文件路径读取这些文件。读取文件时File.canRead()返回 false在主应用程序中。甚至我试过MediaStore API要读取这些文件,它会返回空 Cursor .
在这里我有几个问题。

  • 我可以在 Android 11 上读取其他应用程序创建的文件吗?我在某处读到您无法在 Android 11 中访问其他应用程序文件。
  • 我的应用程序是否符合 MANAGE_EXTERNAL_STORAGE 的条件?访问存储中所有文件的权限?
  • 处理这种情况的最佳方法是什么?
  • ``` 存储访问框架`` 可以帮我处理这种情况吗?

  • 我将文件保存在公共(public)目录 Documents/AppData/Audio .请给我有关此的工作链接。任何帮助将不胜感激。谢谢

    最佳答案

    与 Android 11 MediaStore API 一样,仅返回媒体文件。
    所以,我会回答你的相关问题。

    Can I read files that are created by the Others app on Android 11? Iread somewhere that you can't access others apps files in Android 11.


    不!您无法访问由存储在该特定应用程序的个人存储中的其他应用程序创建的文件。

    Is my app eligible for MANAGE_EXTERNAL_STORAGE permission to accessall files in storage?


    据我了解,您的应用程序不需要外部存储来存储数据,它也可以在私有(private)存储中完成,您可以在其中读取或写入数据。如果您的应用程序仍然有资格获得此权限,那么您现在仍然无法使用它。官方网站建议这样做,而不是要求此权限使目标 API 29 并在 list 中使用 android:requestLegacyExternalStorage="true"。
    click here to read about it.

    What will be the best way to handle this scenario?


    您可以使用特定于应用程序的文件夹来存储您正在创建的存档,而不是使用外部音频路径。

    Can ``` Storage Access Framework `` help me to handle this scenario?


    我不太了解 IPC 如何在两个应用程序之间工作,所以我不能确切地说使用存储框架会更好。

    关于android - 如何在 Android 11 中实现 New Storage API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67645587/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com