我认为这很简单,但是它比整个应用程序的其他部分给了我更多的工作。
我只想要一个按钮来打开" Downloaded Files"我的应用的文件夹。这就是全部。没有文件选择器,没有什么复杂的。所有按钮必须打开一个包含默认应用程序的文件夹(如果没有默认应用程序,则打开应用程序选择器)。
我尝试了在StackOverflow上看到的不同解决方案,但似乎没有什么对我有用。
示例1:
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
Uri uri = Uri.parse(Environment.getExternalStorageDirectory().getPath() + "/MyDownloadedFiles/");
intent.setDataAndType(uri, "text/plain");
startActivity(Intent.createChooser(intent, getString(R.string.action_downloaded)));
在我的Android 4.4上,这会打开KitKat文件选择器,甚至在我想要的文件夹中打开...它似乎默认为卡根。但是我确定该文件夹存在,并且给予Intent的路径确实是正确的。
示例2:
Intent intent = new Intent(Intent.ACTION_VIEW);
Uri uri = Uri.parse(Environment.getExternalStorageDirectory().getPath() + "/MyDownloadedFiles/");
intent.setDataAndType(uri, "text/plain");
startActivity(Intent.createChooser(intent, getString(R.string.action_downloaded)));
这个打开一些空白活动,弹出窗口说:"获取文件内容时出错:MyDownloadedFiles"。
如何让我的应用只需一个文件夹的快捷方式来放入内容?
答案 0 :(得分:4)
File file = new File(Environment.getExternalStorageDirectory().getPath() + "/MyDownloadedFiles/");
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(file), "*/*");
startActivity(Intent.createChooser(intent, getString(R.string.action_downloaded)));
答案 1 :(得分:2)
我认为这个可能适合你:
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
Uri uri = Uri.parse(Environment.getExternalStorageDirectory().getPath()
+ "/yourFolder/");
intent.setDataAndType(uri, "*/*");
startActivity(Intent.createChooser(intent, "Open /sdcard/yourFolder"));