android点击文件选择器后,aFileChooser:兼容android2.1+的文件选择器

aFileChooser是一个简化文件浏览与选择过程的android项目。他主要是面向开发者,让任何人都能轻易实现自己的文件浏览器或者文件选择对话框。

intents使得第三方app在选择系统内容资源成为可能,但是如果你想要用户能根据自己的想法选择任意一个文件,你必须调用一个已经存在的文件浏览器,但是很多手机厂商并没有文件浏览器可用,因此很多应用的在遇到这个问题的时候往往是提示用户安装一个文件浏览器。aFileChooser的出现解决了这个问题,让我们可以构件自己的文件浏览器。

他有几个优点:

支持按分类选择;

兼容api 7以上;

界面美观;

可定制行强;

功能完善;

选择文件目录中的文件:

14086063362537.png

使用方法:

将aFileChooser的库文件导入项目。

将FileChooserActivity写入到你的AndroidManifest.xml文件中:

android:name="com.ipaulpro.afilechooser.FileChooserActivity"

android:icon="@drawable/ic_chooser"

android:enabled="@bool/use_activity"

android:exported="true"

android:label="@string/choose_file" >

注意android:exported="true"是必须的。

下面演示如何调用这个activity并获得文件选择器的返回值:private static final int REQUEST_CHOOSER = 1234;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

// Create the ACTION_GET_CONTENT Intent

Intent getContentIntent = FileUtils.createGetContentIntent();

Intent intent = Intent.createChooser(getContentIntent, "Select a file");

startActivityForResult(intent, REQUEST_CHOOSER);

}

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

switch (requestCode) {

case REQUEST_CHOOSER:

if (resultCode == RESULT_OK) {

final Uri uri = data.getData();

// Get the File path from the Uri

String path = FileUtils.getPath(this, uri);

// Alternatively, use FileUtils.getFile(Context, Uri)

if (path != null && FileUtils.isLocal(path)) {

File file = new File(path);

}

}

break;

}

}

更正:github上给出的demo中是使用FileUtils.createGetContentIntent()来得到Intent,在4.4中会弹出一个功能比较复杂的activity,实际上这是由系统提供的一个叫DocumentsUI的activity 跟这个项目一点关系都没有,只不过他的调用与返回值形式和FileChooserActivity的调用与返回值形式一致。如果要用在4.4中使用FileChooserActivity的界面,不要使用FileUtils.createGetContentIntent()提供的intent,而是直接Intent intent = new Intent(FileChooserExampleActivity.this,FileChooserActivity.class);

同时在FileChooserExampleActivity的AndroidManifest中将 android:enabled属性去掉(demo中加了这一属性)

当然 在4.4以下的版本中会弹出如下的chooser:

2320322101dc4a1b19a1b1197b1f3a3f.png

然后选择select a file 就会进入到FileChooserActivity中。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值