原文地址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