我想以编程方式启动默认文件资源管理器以显示文件夹的内容.
我正在使用此代码,但它崩溃了:
Uri startDir = Uri.fromfile(new file("/sdcard/DCIM/Camera")); Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); intent.setData(startDir); startActivity(intent);
LogCat显示“找不到处理意图的活动”……
我最好的选择是什么?我希望用户能够看到文件夹的内容并能够单击文件(例如,单击视频并使用默认播放器启动它,单击pdf并打开它等).
解决方法:
不幸的是,似乎没有标准的方法来做到这一点,我之前正在寻找完全相同的东西,但无法找到任何解决方案.有两种替代方法可能适合您:
1)使用一般意图并让用户选择他/她的文件管理器
这是安全和容易的,但与我们真正想要的有点远
Uri startDir = Uri.fromfile(new file(Environment.getExternalStorageDirectory() .getabsolutePath() + "/DCIM/Camera")); Intent intent = new Intent(); intent.setData(startDir); intent.setType("*/*"); intent.setAction(Intent.ACTION_VIEW); startActivity(intent);
不要使用intent.setType(“file / *”);,它不是标准的MIME类型.
2)使用着名文件管理器提供的特定意图众所周知的文件管理器有自己的自定义意图过滤器,它们接受允许简单浏览的目录路径.其中一些在这里:OI file manager,ES Explorer
也许您可以检查用户是否安装了这些特定的文件管理器,然后使用此解决方案,否则回退到一般意图.
目前,这是您拥有的唯一两个选项.如果我找到更好的解决方案,我会更新这篇文章.
总结以上是内存溢出为你收集整理的使用默认资源管理器在Android中查看文件夹内容全部内容,希望文章能够帮你解决使用默认资源管理器在Android中查看文件夹内容所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)