拍照或本地媒体库获取图片
来源:互联网 发布:美国农业部数据网站 编辑:程序博客网 时间:2024/05/01 12:42
本地媒体库或者拍照 都是调用系统本身的功能,
Intent intent = new Intent(Intent.ACTION_GET_CONTENT); Intent intent=new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);所以直接startActivityForResult就能浏览媒体库或者拍照,然后就是要获得返回的数据,直接调用onActivityResult即可,这只是基本的思路,实际操作并不是这么简单。
首先是启动媒体库部分
private void getPictureFormLocal() { Intent intent = new Intent(Intent.ACTION_GET_CONTENT); //用来表明intent只能被openFileDescriptor(Uri, String)打开 intent.addCategory(Intent.CATEGORY_OPENABLE); //intent.setType(“audio/*”); //选择音频 //intent.setType(“video/*”); //选择视频 //intent.setType(“video/*;image/*”);//同时选择视频和图片 intent.setType("image/*"); startActivityForResult(Intent.createChooser(intent, "选择图片来源"), GET_PHOTO_FROM_LOCAL); }然后是启动照相机拍照
private void getPictureFromCamera() { //检查SDCard是否存在 String status = Environment.getExternalStorageState(); if (status.equals(Environment.MEDIA_MOUNTED)) { try { File dir = new File(photopath); if (!dir.exists()) dir.mkdirs(); Intent intent = new Intent( android.provider.MediaStore.ACTION_IMAGE_CAPTURE); path = photopath + getPhotoFileName(); File f = new File(path); Uri u = Uri.fromFile(f); intent.putExtra(MediaStore.Images.Media.ORIENTATION, 0); intent.putExtra(MediaStore.EXTRA_OUTPUT, u); startActivityForResult(intent, GET_PHOTO_FROM_CAMERA); } catch (ActivityNotFoundException e) { Toast.makeText(MainActivity.this, "没有找到储存目录", Toast.LENGTH_LONG).show(); } } else { Toast.makeText(MainActivity.this, "没有储存卡", Toast.LENGTH_LONG).show(); } }
最后是在onActivityResult中得到bitmap
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { Log.i(TAG, "in onActivityResult"); if (resultCode == RESULT_OK) { Bitmap bp = null; switch (requestCode) { case GET_PHOTO_FROM_CAMERA : bp = BitmapFactory.decodeFile(path); break; case GET_PHOTO_FROM_LOCAL : Uri uri = data.getData(); Log.i(TAG, "uri == " + uri); try { bp = BitmapFactory.decodeStream(resolver.openInputStream(uri)); } catch (FileNotFoundException e) { e.printStackTrace(); } Log.i(TAG, "bp == " + bp.toString()); break; } imageView.setImageBitmap(bp); } super.onActivityResult(requestCode, resultCode, data); }大概思路就是这个样子
代码地址
0 0
- 拍照或本地媒体库获取图片
- android获取本地图片或拍照图片
- 获取本地图片或拍照图片
- android获取本地图片或拍照图片
- 获取本地图片或拍照图片
- android获取本地图片或拍照图片
- Android获取本地图片或拍照上传
- 获取本地图片或拍照并保存到本地
- 安卓学习笔记 本地相册或拍照获取图片
- Android 拍照获取本地图片
- 获取相册图片或拍照
- android图像绘制获取本地图片或拍照图片等图片资源
- android从本地媒体库获取图片上传至服务器保存
- liferay获取媒体库图片
- android图像绘制(六)——获取本地图片或拍照图片
- android图像绘制(六)——获取本地图片或拍照图片
- android图像绘制(六)——获取本地图片或拍照图片
- android-显示选择本地图片或拍照
- 位图按钮类,实现了按下、放开和鼠标在按钮上的图片更换。
- 文本转语音开发操作说明
- Linux 系统对 pthreads 提供了良好的支持
- Erlang云中漫步
- ubuntu之rsync服务
- 拍照或本地媒体库获取图片
- 夏日溶溶,阳光带着热忱,
- webservice之获取ip归属地
- pipe row 的用法,Oracle split 函数写法
- scikit-learn的安装
- Maven 手动添加 JAR 包到本地仓库
- linux关机
- cowboy 分析
- SharePoint 页面JS上下文对象 "_spPageContextInfo"