Android 从相册选择照片 手机拍照
2016-06-15 13:13
519 查看
public class MainActivity extends AppCompatActivity { private static int RESULT_LOAD_IMAGE = 1; @ViewInject(R.id.iv_pic) public ImageView mImageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ViewUtils.inject(this); } @OnClick(R.id.btn_selectpic) public void selectPic(View v) { Intent i = new Intent( Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); startActivityForResult(i, RESULT_LOAD_IMAGE); } @OnClick(R.id.btn_camera) protected void getImageFromCamera(View v) { String state = Environment.getExternalStorageState(); if (state.equals(Environment.MEDIA_MOUNTED)) { Intent getImageByCamera = new Intent("android.media.action.IMAGE_CAPTURE"); startActivityForResult(getImageByCamera, RESULT_LOAD_IMAGE); } else { Toast.makeText(getApplicationContext(), "请确认已经插入SD卡", Toast.LENGTH_LONG).show(); } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); //有时候返回的data里面没有uri而是在getExtras中 if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) { Uri selectedImage = data.getData(); String[] filePathColumn = {MediaStore.Images.Media.DATA}; Uri uri = data.getData(); if (uri == null) { Bitmap bm = (Bitmap) data.getExtras().get("data"); mImageView.setImageBitmap(bm); } else { try { Bitmap bm = MediaStore.Images.Media.getBitmap(getContentResolver(), uri); mImageView.setImageBitmap(bm); } catch (IOException e) { e.printStackTrace(); } } } } }
相关文章推荐
- 关于Android程序优化内存释放
- 乐学成语——android(一)
- pc端vnc连接android 端
- Android数据存储(二)
- Android Studio 签名等小技巧
- 重写editText组件以实现记事本的下划线功能
- android如何实现文件按时间先后顺序排列显示
- AndroidManifest.xml中常用属性及含义
- 详细的android studio如何打JAR包
- android studio 中好用的插件————你值的拥有
- 【Android】直播必备之YUV使用总结 —— 常用的几种格式:NV21/NV12/YV12/YUV420P的区别
- Android常用开源工具(1)-Dagger2入门
- Android中framework层下添加aidl编译说程序包不存在
- Android常用开源工具(2)-Dagger2进阶
- Android 内容提供者简介
- Android targetSdkVersion 原理
- 安卓学习之--如何关闭所有的activity
- targetSdkVersion
- 容器与子类焦点优先——descendantFocusability
- Android屏幕录制AS自带功能