2015-05-21 114 views
0

我试图调用默认的文件系统浏览器或任何其他已安装的文件系统或云资源管理器。Android:调用文件系统浏览器

我写了这个代码:

// code 
final int ACTIVITY_CHOOSE_FILE = 1; 
//code 
    onClick // other stuff 
    Intent chooseFile; 
     Intent intent; 
     chooseFile = new Intent(Intent.ACTION_GET_CONTENT); 
     chooseFile.setType("file/png"); 
     intent = Intent.createChooser(chooseFile, "Choose a file"); 
     startActivityForResult(intent, ACTIVITY_CHOOSE_FILE); 
    //end onClick 

 @Override 
     protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     switch(requestCode) { 
      case ACTIVITY_CHOOSE_FILE: { 
      if (resultCode == RESULT_OK){ 
       Uri uri = data.getData(); 
       String filePath = uri.getPath(); 


      } 

但是,例如,他并没有表现出 “MYFILES” 或其它文件系统的探险家,但只有 “Dropbox的” 和“驱动”。

想法?

回答

0

这将打开一个对话框来选择使用哪个文件浏览器(不管你信不信,不是每个android设备默认都有文件浏览器)。其中一些会有额外的能力(例如Dropbox能够浏览服务器上的文件)。 Android会列出每个已安装的应用程序,声称可以处理该MIME类型的ACTION_GET_CONTENT。如果应用程序没有显示出来,或者它们没有安装在该设备上,它们不处理该意图,或者它们不处理该MIME类型。