android 拍照或选择图片的实现方式//AtlerDialog的多种样式
原文地址http://104zz.iteye.com/blog/1687662
主要通过创建Intent,设置不同的参数,MediaStore.ACTION_IMAGE_CAPTUR和Intent.ACTION_GET_CONTENT(或Intent.ACTION_PICK),两个函数startActivityForResult(启动),onActivityResult(获得结果)
相关链接(实现仿微信的功能):http://blog.csdn.net/jdsjlzx/article/details/44160603/
在选择图片后,获取选中图片路径的方法
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Logger.d(Logger.TAG_MainActivity, "onActivityResult: ");
if (resultCode == RESULT_OK) {
String path = null;
if(PhotoCaptureManager.instance().isChoosePhotoMode()){ //判断是否是选择图片模式
try {
Uri originalUri = data.getData(); //获得图片的uri
ContentResolver resolver = getContentResolver();
Bitmap bm = MediaStore.Images.Media.getBitmap(resolver, originalUri); //显得到bitmap图片
//获取图片的路径:
String[] proj = {MediaStore.Images.Media.DATA};
//好像是Android多媒体数据库的封装接口,具体的看Android文档
Cursor cursor = managedQuery(originalUri, proj, null, null, null);
//按我个人理解 这个是获得用户选择的图片的索引值
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
//将光标移至开头 ,这个很重要,不小心很容易引起越界
cursor.moveToFirst();
//最后根据索引值获取图片路径
path = cursor.getString(column_index);
}catch (IOException e) {
Logger.e(Logger.TAG_MainActivity, e.toString());
}
}
......
}
}
AtlterDialog除了确认取消样式,还有列表,单选按钮,复选按钮,多个按钮等样式
相关链接:http://blog.csdn.net/eclipse_yin/article/details/51597637
更多相关文章
- Android(安卓)文件绝对路径和Content开头的Uri互相转换
- 自定义View实现图片的绘制、旋转、缩放
- 用android build system 编译自己的init
- Android(安卓)ImageView.ScaleType详解
- 【Android】录音机
- android中加载图片时出现oom
- android 常用Bitmap处理方法收集:普通裁剪,缩放,圆形裁剪
- TextView的使用
- Android(安卓)图片处理方法大全