从相机或者图库获取图片
来源:互联网 发布:ubuntu下安装windows 编辑:程序博客网 时间:2024/06/07 05:47
从本地图库获取图片
隐式启动activity
private static final String IMAGE_TYPE = "image/*";private static final int RESULT_IMAGE = 10; //从本地图库获取图片private void getAnotherPicFromMediaStore() { //本地图库 /** Intent.ACTION_PICK ** * Activity Action: Pick an item from the data, returning what was selected. * Input: {@link #getData} is URI containing a directory of data * (vnd.android.cursor.dir/*) from which to pick an item. * Output: The URI of the item that was picked. */ Intent intent = new Intent(Intent.ACTION_PICK, null); //MediaStore.Images.Media.EXTERNAL_CONTENT_URI是照片的路径 intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, IMAGE_TYPE); startActivityForResult(intent, RESULT_IMAGE); }
选完图片回调onActivityResult
@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode != RESULT_OK) { return; } Intent intent = new Intent(this, PuzzleActivity.class); switch (requestCode) { case RESULT_IMAGE: //返回图片的Uri,此例中imageUri.toString = "content://media/external/images/media/38"; Uri imageUri = data.getData(); //通过contentResolver获取图片的路径//↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ String[] filePathColumn = {MediaStore.Images.Media.DATA}; Cursor cursor = getContentResolver().query(imageUri, filePathColumn, null, null, null);//↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ if (!cursor.moveToFirst()) { return; }//↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ int columnIndex = cursor.getColumnIndex(filePathColumn[0]); String imagePath = cursor.getString(columnIndex);//↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ //别忘了释放游标 cursor.close(); File imageFile = new File(imagePath); if (!imageFile.exists()) { return; } //do Something, imageFile就是选择的图片 break; }}
调用系统相机拍照片
隐式启动activity
//这个路径用来存放拍摄的照片public static final String TEMP_IMAGE_PATH;//拍照的返回码public static final int RESULT_CAMERA = 20;//直接照一张图片private void getAnotherPicFromCamera() { //路径随便填,用来存储系统相机拍摄的照片,注意外部存储的权限 TEMP_IMAGE_PATH = getApplication().getCacheDir().toString() + "/temp.png"; //把路径转化为Uri Uri photoUri = Uri.fromFile(new File(TEMP_IMAGE_PATH)); //使用系统相机的action Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); //将Uri附加进intent传递过去 intent.putExtra(MediaStore.EXTRA_OUTPUT, photoUri); startActivityForResult(intent, RESULT_CAMERA);}
回调onActivityResult
@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode != RESULT_OK) { return; } Intent intent = new Intent(this, PuzzleActivity.class); switch (requestCode) { case RESULT_CAMERA: //返回RESULT_OK,就说明TEMP_IMAGE_PATH这个成员变量表示的文件就是我们系统相机拍摄的图片 File image = new File(TEMP_IMAGE_PATH); break; }}
0 0
- 从相机或者图库获取图片
- 从图库获取图片
- IOS开发选择图片(相机或者图库)
- 调用相机拍照或者从图库里选择图片裁剪后设置到界面
- 使用AlertDialog弹窗实现相机拍照或者从图库选取图片显示
- 从本地获取或者相机获取图片上传
- 从 相机 或者相册 获取图片显示在ImageView 上
- 从相机或者相册,获取图片显示在ImageView上
- Android系统从相机和图库中获取图片的通用方案
- Android 4.4以上拍照或者从图库选择图片,获取图片路径
- 弹出对话框选择相机或者图库内的图片
- UIImagePickerController从拍照、图库、相册获取图片
- UIImagePickerController从拍照、图库、相册获取图片
- UIImagePickerController从拍照、图库、相册获取图片
- UIImagePickerController从拍照、图库、相册获取图片
- UIImagePickerController从拍照、图库、相册获取图片
- UIImagePickerController从拍照、图库、相册获取图片
- 从图库获取图片的真实格式
- tomcat Https应用
- maven配置全局的jdk和配置局部的jdk
- AS使用git将项目提交到github简单介绍
- 项目
- linux内核模块编程入门
- 从相机或者图库获取图片
- java适配器模式的简单理解
- java代码执行顺序
- Android性能分析工具
- 微信【接收事件推送】
- java的优点?
- ubuntu区域语言(locale)设置三步曲
- 基于TIVA库函数的TM4C1294XL使用笔记|TI单片机
- HDOJ 5573 Binary Tree(qwb铜牌题 贪心+DFS)