Android11(30API)的File.listFiles()不会返回所有文件。
创始人
2024-08-20 09:00:58
0

在Android 11中,由于安全限制和权限更改,File.listFiles()不会返回所有文件。相反,您应该使用Storage Access Framework(SAF)来获取文件列表。

以下是使用SAF获取文件列表的示例代码:

private static final int REQUEST_CODE = 42;
private static final String MIME_TYPE = "text/plain";

private void getFiles() {
    Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
    intent.setType(MIME_TYPE);
    startActivityForResult(intent, REQUEST_CODE);
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent resultData) {
    super.onActivityResult(requestCode, resultCode, resultData);

    if (requestCode == REQUEST_CODE && resultCode == Activity.RESULT_OK) {
        Uri uri = resultData.getData();
        getContentResolver().takePersistableUriPermission(uri, Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);

        Cursor cursor = getContentResolver().query(uri, null, null, null, null);
        if (cursor != null) {
            while (cursor.moveToNext()) {
                String fileName = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));
                // do something with the file
            }
            cursor.close();
        }
    }
}

在这个示例中,我们启动了一个SAF Intent来选择所有MIME_TYPE为"text/plain"的文件。一旦用户选择文件,我们会获取文件的URI并请求持久的权限。然后,我们使用该URI查询内容提供程序并遍历结果集来获取选定文件的信息。

相关内容

热门资讯

黑科技了解(wpk机制)来玩a... 黑科技了解(wpk机制)来玩app德州最初有挂!太无语了确实是有挂(2021已更新)(哔哩哔哩);原...
黑科技智能ai(wpk私人局)... 黑科技智能ai(wpk私人局)德州竞技联盟其实真的是有挂!太坑了原生是真的有挂(2026已更新)(哔...
黑科技代打(微扑克软件)德州n... 黑科技代打(微扑克软件)德州nzt先前真的是有挂!太实锤了其实是真的有挂(2025已更新)(哔哩哔哩...
黑科技免费(wpk德州代打)A... WePoker透视辅助版本稳定性对比与推荐‌:黑科技免费(wpk德州代打)AAPOker起初存在有挂...
黑科技辅助(Wepoke程序)... 黑科技辅助(Wepoke程序)fishpoker本来存在有挂!太离谱了原来真的有挂(2022已更新)...
黑科技插件(poker)wEp... 黑科技插件(poker)wEpOke一直真的是有挂!太夸张了竟然存在有挂(2021已更新)(哔哩哔哩...
黑科技线上(线上德州)wpK确... 黑科技线上(线上德州)wpK确实真的有挂!太实锤了一贯是真的有挂(2021已更新)(哔哩哔哩);支持...
黑科技系统(pokermast... 黑科技系统(pokermaster)轰趴大菠萝十三水起初是真的有挂!太嚣张了固有真的是有挂(2021...
黑科技免费(WPK透视挂)德州... 黑科技免费(WPK透视挂)德州之星一向存在有挂!太坑了一贯存在有挂(2020已更新)(哔哩哔哩);玩...
黑科技ai代打(微扑克ai代打... 黑科技ai代打(微扑克ai代打)微扑克模拟器切实真的是有挂!太坑了果然真的有挂(2022已更新)(哔...