Android中调用系统的文件浏览器及自制简单的文件浏览器

2019-12-10 18:13:47于丽
易采站长站为您分析Android中调用系统自带的文件浏览器及自制简单的文件浏览器的方法,这里的例子仅展示浏览而没有添加复制粘贴剪切等文件管理操作,非常简单,需要的朋友可以参考下  

调用系统自带的文件浏览器
这很简单:

/** 调用文件选择软件来选择文件 **/ 
private void showFileChooser() { 
  intent = new Intent(Intent.ACTION_GET_CONTENT); 
  intent.setType("*/*"); 
  intent.addCategory(Intent.CATEGORY_OPENABLE); 
  try { 
    startActivityForResult(Intent.createChooser(intent, "请选择一个要上传的文件"), 
        FILE_SELECT_CODE); 
  } catch (android.content.ActivityNotFoundException ex) { 
    // Potentially direct the user to the Market with a Dialog 
    Toast.makeText(getActivity(), "请安装文件管理器", Toast.LENGTH_SHORT) 
        .show(); 
  } 
} 

在catch,我们可以做更多的操作,比如会跳转到一个下载文件管理器的页面或者等等。

对于返回的数据怎么处理呢。我项目中的上传是如下接收:

/** 根据返回选择的文件,来进行上传操作 **/ 
  @Override 
  public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    // TODO Auto-generated method stub 
    if (resultCode == Activity.RESULT_OK) { 
      // Get the Uri of the selected file 
      Uri uri = data.getData(); 
      String url; 
      try { 
        url = FFileUtils.getPath(getActivity(), uri); 
        Log.i("ht", "url" + url); 
        String fileName = url.substring(url.lastIndexOf("/") + 1); 
        intent = new Intent(getActivity(), UploadServices.class); 
        intent.putExtra("fileName", fileName); 
        intent.putExtra("url", url); 
        intent.putExtra("type ", ""); 
        intent.putExtra("fuid", ""); 
        intent.putExtra("type", ""); 
 
        getActivity().startService(intent); 
 
      } catch (URISyntaxException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
      } 
    } 
    super.onActivityResult(requestCode, resultCode, data); 
  }