1. 程式人生 > >呼叫android系統相機拍照並將圖片傳指定路徑並獲取相片

呼叫android系統相機拍照並將圖片傳指定路徑並獲取相片

public void onClick(View v) {
        if (v.getId() == R.id.btn_take) {
            // 調系統相機
            if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
                Log.e(TAG, "sd卡掛載");
                path = Environment.getExternalStorageDirectory() + "/*****/photos/";
                Log
.e(TAG, "指定path: " + path); File dir = new File(path); if (!dir.exists()) { dir.mkdirs(); // 目錄 } photoName = getPhotoName(); //通過當前時間來定照片的名字 Log.e(TAG, "photoName: " + photoName); // photoName: // 2017-03-1513:28:20.png
// photoName = photoName.replace("-", ""); photoName = photoName.replace(":", ""); Log.e(TAG, "new-->photoName: " + photoName); Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); File f = new
File(dir, photoName); uri = Uri.fromFile(f); Log.e(TAG, "" + uri); intent.putExtra(MediaStore.EXTRA_OUTPUT, uri); // 指定路徑儲存 intent.putExtra(MediaStore.Images.Media.ORIENTATION, 0); startActivityForResult(intent, CAMERA_PHOTO); } else { Log.e(TAG, "不存在sd卡"); } } }
@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {

        if (requestCode == CAMERA_PHOTO) {
            Log.e(TAG, "CAMERA_PHOTO回撥");

            if (resultCode == RESULT_OK) {
                Log.e(TAG, "進入 RESULT_OK");
                // 獲取圖片的uri
                if (data != null) {
                    Bitmap bitmap1 = data.getParcelableExtra("data");
                    Log.e(TAG, "data!=null, bitmap1: " + bitmap1);

                } else {
                    String uripath = uri.getPath();

                    Bitmap bitmap2 = BitmapFactory.decodeFile(uripath);
                    if (bitmap2 != null) {
                        // 得到bitmap2,不使用glide處理,自己處理
                    }

                    ////也可通過圖片路徑獲取相關資訊如下//////////////////////////
                    Item item = new Item();
                    item.setPicUrl(uri.toString());
                    item.setTitle(photoName);
                    imagesList.add(item);

                    Log.e(TAG, "item: " + item.toString());
                    Log.e(TAG, "imagesList.size(): " + imagesList.size());
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。