如何打开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
;和
它不会阻止用户导航到其他地方——它只是控制起点
我需要在 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
;和它不会阻止用户导航到其他地方——它只是控制起点