2011-01-20 59 views
8

我在想,如果我可以查看一个目录,文件浏览器中启动一个Intent(如果有一个安装在设备上),所以我可以打开这样的文件夹:MIME类型,以供Android的目录

Intent intent = new Intent(Intent.ACTION_VIEW); 
Uri uri = Uri.parse("file:///sdcard/MyFolder"); 
intent.setDataAndType(uri, "MIME TYPE FOR FOLDERS"); 
startActivity(intent); 
+1

据我所知,文件夹没有MIME类型。 – fredley 2011-01-20 16:17:59

+2

嗯..任何关于如何使用已经安装的文件浏览器打开文件夹的线索?谢谢 – Pedriyoo 2011-01-20 18:28:12

回答

3

AndExplorer有厂商MIME类型使用AndExplorer作为一个文件选择:

  • vnd.android.cursor.dir/lysesoft.andexplorer.director
  • vnd.android.cursor.dir/lysesoft.andexplorer.file

有关更多信息,请参阅AndExplorer's developper documentation。我认为其他文件探索者是类似的功能,但我还没有找到他们的文档。

+0

没有理由为此指定特定的应用程序。 [看这个答案](http://stackoverflow.com/a/31725812/1748584)为更好,更一般的解决方案 – Project 2016-11-26 00:21:22

2

Blackmoon File Browser响应MIME类型

  • vnd.android.cursor.item /文件的

以打开它的视图,使得文件夹的内容被示出,或者在在一个文件的情况下,它的父文件夹显示为滚动以显示该特定文件。

您可以查看Blackmoon's dev documentation概述它使用的各种意图。

Android还没有指定特定的MIME类型来查看文件浏览应用程序中的文件/文件夹,这太糟糕了。这样,所有文件管理应用程序都会使用相同的意图,以便用户可以自由选择适用于他们的最适合的应用程序,而不是被锁定到任何特定的应用程序中。

我想这就是为什么这样的网站作为http://www.openintents.org/存在,使开发人员能够共享某些标准或至少发布了一些标准的应用程序的能力。

3

根据Google的一些搜索,字符串的'inode/directory'和'x-directory/normal'似乎是基于Unix系统的预先存在的MIME类型,但我手机上没有任何东西可以知道所以我可能会在查找vnd.android.cursor.item /目录之前检查并提供这些内容,该目录至少具有不绑定到特定应用程序的值。

我不愿意使用应用程序特定的类型。

(我刚刚发现,ES使用“资源/文件夹”,这是还振振有词应用无关。太糟糕了,没有办法告诉Android的这些类型都是等价的)

+0

好吧,看起来像Cyanogen文件管理器(com.cyanogenmod.filemanager)也使用它 – HendraWD 2016-04-04 10:06:48

-1

因为这是目录唐文件似乎没有一个标准的MIME类型,我编码我的文件浏览器筛选意图没有MIME类型。只需将数据设置到您的文件夹的Uri。这也将意图方案设置为“文件”,这是我的意图过滤器所要求的。

Intent intent = new Intent(Intent.ACTION_VIEW); 
Uri uri = Uri.parse("file:///sdcard/MyFolder"); 
intent.setData(uri); 
startActivity(intent); 

此意图将启动以下程序:

http://play.google.com/store/apps/details?id=com.organicsystemsllc.thumbdrive

+1

但如果用户手机没有该应用程序,它会失败。我尝试了我的手机,它只是显示Drive PDF Viewer和SQLiteViewer – HendraWD 2016-04-04 10:03:17