本文介绍了与定义扩展的Android浏览文件意图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要创建的意图,将打开文件管理器(如有安装),我希望文件管理器只显示txt文件到用户,所以用户无法选择使用错误的扩展文件。
私有静态最终诠释FILE_SELECT_ code = 0;私人无效showFileChooser(){
意向意图=新意图(Intent.ACTION_GET_CONTENT);
intent.setType(* / *);
intent.addCategory(Intent.CATEGORY_OPENABLE);
尝试{
startActivityForResult(
Intent.createChooser(意向,选择txt文件),
FILE_SELECT_ code);
}赶上(android.content.ActivityNotFoundException前){
//直接潜在用户市场提供一个对话
Toast.makeText(this.getActivity(),请安装一个文件管理器。
Toast.LENGTH_SHORT).show();
}
}公共无效的onActivityResult(INT申请code,INT结果code,意图数据){
开关(要求code){
案例FILE_SELECT_ code:
如果(结果code == Activity.RESULT_OK){
//获取所选文件的URI
URI URI = data.getData();
字符串路径= uri.getPath();
输入=新的文件(路径);
尝试{
txtParser =新TxtFileParser(输入);
}赶上(FileNotFoundException异常五){
/ *异常处理程序必须在这里! * /
}
}
打破;
}
super.onActivityResult(要求code,结果code,数据);
}
我设法做到这一点。但我不知道如何定义TXT扩展。
解决方案
That is not literally possible. You are welcome to use a MIME type of text/plain
instead of */*
, but:
- There is no guarantee that this will only return files with a
.txt
extension - There is no guarantee that there is any app on the device that can handle
ACTION_GET_CONTENT
of that MIME type - There is no guarantee that any "file manager" will honor your MIME type; they may elect to display all files anyway
这篇关于与定义扩展的Android浏览文件意图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!