android 4.4以上项目的选择文件和从图库中选择图片
来源:互联网 发布:知在文言文中的意思 编辑:程序博客网 时间:2024/05/21 11:04
/** * 选择文件 */ private void selectFileFromLocal() { Intent intent = null; if (Build.VERSION.SDK_INT < 19) { intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("*/*"); intent.addCategory(Intent.CATEGORY_OPENABLE); } else { intent = new Intent(Intent.ACTION_OPEN_DOCUMENT); intent.setType("*/*"); } startActivityForResult(intent, REQUEST_CODE_SELECT_FILE); } /** * 从图库获取图片 */ public void selectPicFromLocal() { Intent intent; if (Build.VERSION.SDK_INT < 19) { intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("image/*"); } else { intent = new Intent( Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); } startActivityForResult(intent, REQUEST_CODE_LOCAL); } /** * OS 4.4及以上的版本 */ private static final int BUILD_VERSION_KITKAT = 19; /** * 通过Uri获取对应的路径地址,兼容4.4、5.0 * * @param context * @param uri * @return */ public static String getPath(final Context context, final Uri uri) { final boolean isKitKat = Build.VERSION.SDK_INT >= BUILD_VERSION_KITKAT; // DocumentProvider if (isKitKat && isDocumentUri(context, uri)) { // ExternalStorageProvider if (isExternalStorageDocument(uri)) { final String docId = getDocumentId(uri); final String[] split = docId.split(":"); final String type = split[0]; if ("primary".equalsIgnoreCase(type)) { return Environment.getExternalStorageDirectory() + "/" + split[1]; } } // DownloadsProvider else if (isDownloadsDocument(uri)) { final String id = getDocumentId(uri); final Uri contentUri = ContentUris.withAppendedId(Uri.parse("content://downloads/public_downloads"), Long.valueOf(id)); return getDataColumn(context, contentUri, null, null); } // MediaProvider else if (isMediaDocument(uri)) { final String docId = getDocumentId(uri); final String[] split = docId.split(":"); final String type = split[0]; Uri contentUri = null; if ("image".equals(type)) { contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; } else if ("video".equals(type)) { contentUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI; } else if ("audio".equals(type)) { contentUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI; } final String selection = "_id=?"; final String[] selectionArgs = new String[]{split[1]}; return getDataColumn(context, contentUri, selection, selectionArgs); } } // MediaStore (and general) else if ("content".equalsIgnoreCase(uri.getScheme())) { // Return the remote address if (isGooglePhotosUri(uri)) return uri.getLastPathSegment(); return getDataColumn(context, uri, null, null); } // File else if ("file".equalsIgnoreCase(uri.getScheme())) { return uri.getPath(); } return null; }if (requestCode == REQUEST_CODE_SELECT_FILE) { // 发送选择的文件 if (data != null) { Uri uri = data.getData(); if (uri != null) { } }
0 0
- android 4.4以上项目的选择文件和从图库中选择图片
- android 从系统图库中选择图片
- Android 从系统图库中选择图片
- android 从系统图库中选择图片
- Android从系统图库中读取选择后的图片
- Android从系统图库中选择图片的源代码
- Android 4.4以上拍照或者从图库选择图片,获取图片路径
- android 调用图库中选择的图片
- Android 如何从系统图库中选择图片
- Android 如何从系统图库中选择图片
- Android 如何从系统图库中选择图片
- Android 如何从系统图库中选择图片
- Android 如何从系统图库中选择图片
- Android 如何从系统图库中选择图片
- android从图库(gallery)选择一张图片
- android从图库(gallery)选择一张图片
- Android从图库选择照片并获取图片的path
- Android4.4以上版本从图库选择图片返回的路径不正确解决方法
- 监听contentprovider中数据变化
- 泰勒python笔记二:正则表达式
- 支持向量机-SVM
- leetcode随笔VI
- nginx-备注
- android 4.4以上项目的选择文件和从图库中选择图片
- 3-7 关于浮动之所得
- SAP FTP上传出现的几个小问题归纳
- loadrunner11录制手机app
- 真机测试 之 证书测试
- ZSC 1568 小明的数学作业 (DFS + 模拟栈)
- python中关于深嵌元组转列表的小问题
- iOS开发-NSAarray数字组的元素去重-OC操作中数组元素的去重样例
- mysql, mariaDB 分库分表设计草案及相关笔记