Android 打开文件管理器,并返回选中文件的path
来源:互联网 发布:松下tda600编程软件 编辑:程序博客网 时间:2024/04/28 02:33
1:
点击触发事件:
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);intent.setType("*/*");intent.addCategory(Intent.CATEGORY_OPENABLE);try { startActivityForResult( Intent.createChooser(intent, "Select a File to Upload"), REQUEST_CODE_GET_IMAGE);} catch (android.content.ActivityNotFoundException ex) { Toast.makeText(ResourceActivity.this, "Please install a File Manager.", Toast.LENGTH_SHORT).show();}
2:
处理返回结果
@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(resultCode != RESULT_OK){ return; } switch (requestCode){ case REQUEST_CODE_GET_IMAGE : if (resultCode == RESULT_OK) { Uri selectedMediaUri = data.getData(); String path = FileUtils.getPath(ResourceActivity.this, selectedMediaUri); } break; default: break; }}
/** * 获取文件选择器选中的文件路径 * @param context * @param uri * @return */public static String getPath(Context context, Uri uri) { if ("content".equalsIgnoreCase(uri.getScheme())) { String[] projection = { "_data" }; Cursor cursor = null; try { cursor = context.getContentResolver().query(uri, projection,null, null, null); int column_index = cursor.getColumnIndexOrThrow("_data"); if (cursor.moveToFirst()) { return cursor.getString(column_index); } } catch (Exception e) { // Eat it } } else if ("file".equalsIgnoreCase(uri.getScheme())) { return uri.getPath(); } return null;}
0 0
- Android 打开文件管理器,并返回选中文件的path
- Android中调用文件管理器并返回选中文件的路径
- ANDROID中调用文件管理器并返回选中文件的路径
- ANDROID中调用文件管理器并返回选中文件的路径
- 利用 Android 浏览并返回选中的文件或者目录
- 打开文件夹并选中相应的文件
- 打开文件夹并选中文件
- Android打开系统文件管理器的坑
- 打开文件所在文件夹并选中文件
- Android 打开文件管理器 获取文件的真实路径
- 打开目录并选中文件的三种方法
- C#打开目录并选中文件(夹)的实现
- C# 打开目录并选中文件的相关问题
- 打开所在文件夹并选中文件
- 打开文件夹,并同时选中指定文件
- 【VC】打开目录并选中文件
- C# 打开资源管理器并选中某个文件
- C++打开指定文件夹,并选中文件
- Mina SSL Filter安全加密过滤器相关知识介绍
- iOS开发中,应用内直接跳转到Appstore
- oracle 12c 列自增长 identity column
- java判断文件夹是否存在某一文件 如果存在就删除功能
- 前端一路躺过的坑
- Android 打开文件管理器,并返回选中文件的path
- getParameter 与 getAttribute的区别
- sikuli入门到进阶
- runloop 监听( CFRunLoopAddObserver)
- java.sql.date与java.util.date区别以及数据库中插入带时分秒的时间
- POST GET比较
- iOS基础之路:面向对象程序设计的特性
- 我对图像金字塔的理解及OpenCV下的实现代码
- java中多线程常见的几个参数