Android --- 从相册中选择图片或者拍着选择图片遇到的问题
生活随笔
收集整理的這篇文章主要介紹了
Android --- 从相册中选择图片或者拍着选择图片遇到的问题
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.從相冊選擇的圖片會(huì)存儲(chǔ)到 data 里面,而相機(jī)拍照的圖片不會(huì)存儲(chǔ)到 data 里面
2.由于從相冊選擇的圖片會(huì)存儲(chǔ)到 data 里面,而相機(jī)拍照的圖片不會(huì)存儲(chǔ)到 data 里面,所以在獲取圖片資源進(jìn)行回顯的方式不同,請看一下詳細(xì)代碼:(一定要?jiǎng)?chuàng)建文件 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 是根據(jù)選擇的方式,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 {// 相機(jī)createFileName();if (Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)) { // 判斷SD卡狀態(tài):SD卡正常掛載Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);//通過intent調(diào)用照相機(jī)照相intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(currentImageFile));startActivityForResult(intent, PHOTO_REQUEST_CAMERA );} else {Toast.makeText(AddActiActivity.this, "未找到存儲(chǔ)卡,無法存儲(chǔ)照片!",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"); }//在圖庫中選擇圖片之后回傳的數(shù)據(jù) @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if (requestCode == PHOTO_REQUEST_GALLERY) { // 相冊if (data != null) {//將數(shù)據(jù)添加到數(shù)據(jù)集合中adapter.addData(data.getData().toString());}}else if (requestCode == PHOTO_REQUEST_CAMERA) { // 相機(jī)if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {//將數(shù)據(jù)添加到數(shù)據(jù)集合中adapter.addData(currentImageFile.toString());} else {Toast.makeText(AddActiActivity.this, "未找到存儲(chǔ)卡,無法存儲(chǔ)照片!",Toast.LENGTH_SHORT).show();}}}總結(jié)
以上是生活随笔為你收集整理的Android --- 从相册中选择图片或者拍着选择图片遇到的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android --- 进入页面时,不弹
- 下一篇: Android --- 解决 regis