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,

相关内容

热门资讯

程序员教你辅助挂!新竹大厅ai... 程序员教你辅助挂!新竹大厅ai智能辅助挂教程,新竹大厅怎么开挂指引(总是有挂辅助)1、新竹大厅公共底...
2分钟细说透视!互娱+大厅ai... 2分钟细说透视!互娱+大厅ai智能透视工具,互娱+大厅能不能开挂办法(真是有挂技术)互娱+大厅能透视...
大神推荐透视挂!海洋世界ai智... 大神推荐透视挂!海洋世界ai智能透视挂app,海洋世界开挂破解手段(一直有挂辅助)海洋世界能透视中分...
玩家必看科普辅助挂!可乐大厅a... 玩家必看科普辅助挂!可乐大厅ai智能辅助挂教程,可乐大厅有没有辅助插件教程书(都是有挂技术)1、打开...
必看攻略透视挂!狮城互娱ai智... 必看攻略透视挂!狮城互娱ai智能透视挂插件,狮城互娱有挂么指南(本来发现有挂)1、许多玩家不知道狮城...
一分钟了解辅助器!鲨鱼大厅ai... 一分钟了解辅助器!鲨鱼大厅ai智能辅助器攻略,鲨鱼大厅有挂吗方案(果然发现有挂)1、不需要AI权限,...
总算了解辅助挂!王者互娱ai智... 总算了解辅助挂!王者互娱ai智能辅助挂方法,王者互娱有没有挂吗办法(本来发现有挂)1.王者互娱 选牌...
重大通报透视!新漫游大厅ai智... 重大通报透视!新漫游大厅ai智能透视技巧,新漫游大厅外卦神器软件要领(一直发现有挂)1、在新漫游大厅...
玩家必看科普透视挂!新天道ai... 玩家必看科普透视挂!新天道ai智能透视挂app,新天道辅助工具手筋(果然发现有挂)新天道能透视中分为...
重大科普辅助挂!蘑菇大厅ai智... 重大科普辅助挂!蘑菇大厅ai智能辅助挂技巧,蘑菇大厅透视软件指南(一直发现有挂)1、玩家可以在蘑菇大...