如何打开Android10中的特定文件或文件夹?

How to open a specific file or a folder in Android 10?

我需要在 Android 10 中打开一个特定的文件夹,以便我的应用程序中只能看到该文件夹​​中的文件。

我试过这个:

            try {
                Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
                File f = new File(getExternalFilesDir(null) + "/MyFolder");
                Uri uri = FileProvider.getUriForFile(getApplicationContext(),getApplicationContext().getPackageName()+".provider",f);
                Toast.makeText(MainActivity.this,f.getPath(),Toast.LENGTH_LONG).show();
                intent.setDataAndType(uri,"text/plain");
                intent.addCategory(Intent.CATEGORY_OPENABLE);
                intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
                startActivity(intent);
            }
            catch (Exception e) {
                Log.d("Exception",e.toString());
                Toast.makeText(MainActivity.this, e.toString(), Toast.LENGTH_LONG).show();
            }

但是,它会打开整棵树。

我真正想要的是打开那个文件夹。文件夹中的文件应该可以被其他应用程序打开。任何帮助将不胜感激。

I need to open a specific folder in Android 10, so that only the files inside that folder can be seen in my app

抱歉,这不是一个选项。

最接近您想要的东西is EXTRA_INITIAL_URI。然而:

  • 它需要您之前从存储访问框架获得的文档或树 Uri,而不是 FileProvider Uri;和

  • 它不会阻止用户导航到其他地方——它只是控制起点