android文件管理器获取路径,(转)Android调用系统自带的文件管理器进行文件选择并获得路径...

Android区别于iOS的沙盒模式,可以通过文件浏览器浏览本地的存储器。Android API也提供了相应的接口。

基本思路,先通过Android API调用系统自带的文件浏览器选取文件获得URI,然后将URI转换成file,从而得到file。

调用系统自带的文件浏览器

public class MainActivity extends AppCompatActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Button btn= (Button) findViewById(R.id.btn);

btn.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);

intent.setType("*/*");//设置类型,我这里是任意类型,任意后缀的可以这样写。

intent.addCategory(Intent.CATEGORY_OPENABLE);

startActivityForResult(intent,1);

}

});

}

}

intent.setType(“image/*”);

//intent.setType(“audio/*”); //选择音频

//intent.setType(“video/*”); //选择视频 (mp4 3gp 是android支持的视频格式)

//intent.setType(“video/*;image/*”);//同时选择视频和图片

回调

@Override

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

if (resultCode == Activity.RESULT_OK) {//是否选择,没选择就不会继续

Uri uri = data.getData();//得到uri,后面就是将uri转化成file的过程。

String[] proj = {MediaStore.Images.Media.DATA};

Cursor actualimagecursor = managedQuery(uri, proj, null, null, null);

int actual_image_column_index = actualimagecursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);

actualimagecursor.moveToFirst();

String img_path = actualimagecursor.getString(actual_image_column_index);

File file = new File(img_path);

Toast.makeText(MainActivity.this, file.toString(), Toast.LENGTH_SHORT).show();

}

}

onActivityResult函数响应了选择文件的操作。

L3Byb3h5L2h0dHAvd3d3LmJhbmJhaXNlLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNS8xMS9RUTIwMTUxMTI1LTFAMngucG5n.jpg

L3Byb3h5L2h0dHAvd3d3LmJhbmJhaXNlLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNS8xMS9RUTIwMTUxMTI1LTBAMngucG5n.jpg

Android调用系统自带的文件管理器进行文件选择并读取

先调用: intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("*/*"); //设置类型,我这里是任意类 ...

Android调用系统自带的文件管理器进行文件选择

http://blog.csdn.net/zqchn/article/details/8770913的补充 FileUtils文件 public class FileUtils {     publi ...

Android调用系统自带的设置界面

Android有很多系统自带的设置界面,如设置声音,设置网络等. 在开发中可以调用这些系统自带的设置界面. 点击以下列表中的选项,就可以调出相应的系统自带的设置界面. 如点击“无线和网络设置”,可以调 ...

android调用系统自带的的浏览器搜索关键字

//调用系统的浏览器搜索详情 public void jumpBrowser(String value) { /* 取得网页搜寻的intent */ Intent search = new Inten ...

android 调用系统的音乐和视频播放器

package com.eboy.testsystemaudiovideo; import android.app.Activity;import android.content.Intent;imp ...

Android调用系统相机、自己定义相机、处理大图片

Android调用系统相机和自己定义相机实例 本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,而且因为涉及到要把拍到的照片显示出来,该样例也会涉及到Android载入大图片时候的处 ...

ShareIntentUtil【调用系统自带的分享的工具类】

版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 根据参考资料的文章,整理了调用系统自带分享的工具类(实现了适配7.0FileProvider的功能),需要搭配

android调用系统的自定义裁剪后得到的图片不清晰,使用MediaStore.EXTRA_OUTPUT获取缓存下的清晰图片

在使用系统自带的剪切图片工具时,通常只能设置一些比较小的值,像 intent.putExtra("outputX", 320); intent.putExtra("out ...

Android调用系统相机、自定义相机、处理大图片

Android调用系统相机和自定义相机实例 本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显示出来,该例子也会涉及到Android加载大图片时候的处理 ...

随机推荐

Spark核心概念

1.Application     基于spark的用户程序,包含了一个Driver Program以及集群上中多个executor:     spark中只要有一个sparkcontext就是一个a ...

判断是否联网_检测网络的类型为3G、2G、wap、wifi

判断是否联网_检测网络的类型为3G.2G.wap.wifi  判断是否联网: /*** * judge Internet is available * * @author wei-spring * @ ...

使用命令行将Excel数据表导入Mysql中的方法小结

从Excel数据表导入MySQL,已经做过好几次了,但每次都会碰到各种问题:invalid utf8 character string, data too long, ...,浪费了不少时间 为了提高 ...

MySQL下perror工具查看System Error Code信息

在MySQL数据库的维护过程中,我们有时候会在MySQL的错误日志文件中看到一些关于Operating system error的错误信息,例如在MySQL的错误日志里面,有时候会看到关于 Inn ...

PHP文本处理 中文汉字字符串 转换为数组

在PHP中我们可以通过str_split 将字符串转换为数组,但是却对中文无效,下面记录一下个人将中文字符串转换为数组的方法. 用到的PHP函数 mb_strlen — 获取字符串的长度 functi ...

JavaScript深入

BOM(浏览器对象模型)——与浏览器对话: Window对象(代表浏览器的窗口——不包括工具栏.滚动条): //所有全局对象.全局函数,均自动成为window对象的成员(document属于浏览器,所 ...

20165214 实验一 Java开发环境的熟悉

20165214 实验一 Java开发环境的熟悉 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:朱文远 学号:20165214 指导教师:娄嘉鹏 实验日期:2018年4月2日 实验 ...

zw版【转发·台湾nvp系列Delphi例程】HALCON AngleLl

zw版[转发·台湾nvp系列Delphi例程]HALCON AngleLl procedure TForm1.Button1Click(Sender: TObject);var Row1, Row2 ...

python标准库介绍——17 tempfile 模块详解

==tempfile 模块== [Example 2-6 #eg-2-6] 中展示的 ``tempfile`` 模块允许你快速地创建名称唯一的临时文件供使用. ====Example 2-6. 使用 ...

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值