Android --- 从相册中选择图片或者拍着选择图片遇到的问题
生活随笔
收集整理的这篇文章主要介绍了
Android --- 从相册中选择图片或者拍着选择图片遇到的问题
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
1.从相册选择的图片会存储到 data 里面,而相机拍照的图片不会存储到 data 里面
2.由于从相册选择的图片会存储到 data 里面,而相机拍照的图片不会存储到 data 里面,所以在获取图片资源进行回显的方式不同,请看一下详细代码:(一定要创建文件 createFileName())
// 选择是在相册中选还是拍照 private void changeHeadIcon() {final CharSequence[] items = { "相册", "拍照" };AlertDialog dlg = new AlertDialog.Builder(AddActiActivity.this).setTitle("选择图片").setItems(items, new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int item) {// 这里 item 是根据选择的方式,if (item == 0) { // 相册createFileName();Intent intent = new Intent(Intent.ACTION_PICK);intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(currentImageFile));intent.setType("image/*");startActivityForResult(intent, PHOTO_REQUEST_GALLERY);} else {// 相机createFileName();if (Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)) { // 判断SD卡状态:SD卡正常挂载Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);//通过intent调用照相机照相intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(currentImageFile));startActivityForResult(intent, PHOTO_REQUEST_CAMERA );} else {Toast.makeText(AddActiActivity.this, "未找到存储卡,无法存储照片!",Toast.LENGTH_SHORT).show();}}}}).create();dlg.show(); } // 选择相册图片后的文件名 public void createFileName() {File dir = new File(Environment.getExternalStorageDirectory(),"pictures");if(dir.exists()) {dir.mkdirs();//在根路径下建子目录,子目录名是"pictures"}currentImageFile = new File(dir,System.currentTimeMillis() + ".jpeg"); }//在图库中选择图片之后回传的数据 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if (requestCode == PHOTO_REQUEST_GALLERY) { // 相册if (data != null) {//将数据添加到数据集合中adapter.addData(data.getData().toString());}}else if (requestCode == PHOTO_REQUEST_CAMERA) { // 相机if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {//将数据添加到数据集合中adapter.addData(currentImageFile.toString());} else {Toast.makeText(AddActiActivity.this, "未找到存储卡,无法存储照片!",Toast.LENGTH_SHORT).show();}}}总结
以上是生活随笔为你收集整理的Android --- 从相册中选择图片或者拍着选择图片遇到的问题的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Android --- 进入页面时,不弹
- 下一篇: Android --- 解决 regis