易采站长站为您分析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);
}










