Android11-读取所有应用程序的Android/data目录,无需使用legacy-request(用于文件管理器/备份目的)
创始人
2024-08-20 09:30:28
0

在Android 11中,由于安全性更高的存储访问外部(SAF)政策,不再允许应用程序直接访问其他应用程序的数据。取而代之的是,应用程序应该使用以下两种方法之一来获得访问数据的权限:

  1. 使用ContentResolver查询请求

这是访问其他应用程序数据的首选方法。它需要用户明确授予权限。以下代码演示如何使用ContentResolver查询请求读取其他应用程序的Android/data目录:

// Projection to query data directory
final String[] projection = new String[]{
        MediaStore.MediaColumns.DATA,
        MediaStore.MediaColumns.DISPLAY_NAME
};

// Query the SAF tree uri
final Uri uri = DocumentsContract.buildDocumentUri(
        BuildConfig.APPLICATION_ID + ".provider", "files/root");

ContentResolver resolver = getContentResolver();
try (Cursor cursor = resolver.query(uri, projection, null, null)) {
    if (cursor != null) {
        while (cursor.moveToNext()) {
            String path = cursor.getString(cursor.getColumnIndex(MediaStore.MediaColumns.DATA));
            String fileName = cursor.getString(cursor.getColumnIndex(MediaStore.MediaColumns.DISPLAY_NAME));
            Log.d(TAG, "Path: " + path + ", File name: " + fileName);
        }
    }
}
  1. 要求用户选择数据目录

如果您的应用程序不使用ContentResolver查询请求或需要更灵活的解决方案,您可以要求用户选择其他应用程序的数据目录。以下代码演示了如何使用SAF Intend让用户选择其他应用程序的数据目录:

// ACTION_OPEN_DOCUMENT_TREE intent
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE)
        .addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION
                | Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION
                | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
startActivityForResult(intent, REQUEST_CODE_DOCUMENT_TREE);

// onActivityResult method
@Override
protected void onActivityResult(int requestCode, int resultCode,

相关内容

热门资讯

透视烘培!来玩德州破解器(透视... 透视烘培!来玩德州破解器(透视)sohoo poker辅助器(辅助)一直一直都是有神器(哔哩哔哩)来...
近期!wepoker有辅助工具... 近期!wepoker有辅助工具吗(透视)八闽福建辅助(果然是有辅助插件)-哔哩哔哩1、八闽福建辅助免...
透视了解!wepoker模拟器... 透视了解!wepoker模拟器哪个(透视)皮皮游戏破解器(本来存在有辅助辅助器)-哔哩哔哩;一、皮皮...
透视法子!哈糖大菠萝万能挂(透... 透视法子!哈糖大菠萝万能挂(透视)sohoo竞技联盟辅助器(辅助)本来一直总是有技巧(哔哩哔哩)1、...
有消息称!hhpoker辅助(... 有消息称!hhpoker辅助(透视)宝宝浙江游戏免费开挂(原来真的有辅助辅助器)-哔哩哔哩1、宝宝浙...
透视窍门!pokerworld... 透视窍门!pokerworld破解版下载(透视)来玩德州破解器(辅助)总是有神器(哔哩哔哩)poke...
据悉!智星菠萝辅助(透视)创思... 据悉!智星菠萝辅助(透视)创思维激k破解更新内容(果然是有辅助安装)-哔哩哔哩1、创思维激k破解更新...
透视指南书!约局吧怎么看有没有... 透视指南书!约局吧怎么看有没有挂(透视)aa poker辅助包(辅助)果然一直总是有插件(哔哩哔哩)...
迎来新发展!hh poker软... 迎来新发展!hh poker软件(透视)永久免费脚本透视工具(一直是真的辅助修改器)-哔哩哔哩1、永...
透视经验!newpoker脚本... 透视经验!newpoker脚本(透视)佛手在线大菠萝为什么都输(辅助)真是真的有工具(哔哩哔哩)1、...