調用系統相機寫入DCIMPath

調用系統相機調試
//                    Intent camera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

//                    startActivityForResult(camera, CAMERA);



    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // TODO Auto-generated method stub
        super.onActivityResult(requestCode, resultCode, data);
         if (resultCode == Activity.RESULT_OK) {  
                String sdStatus = Environment.getExternalStorageState();  
                if (!sdStatus.equals(Environment.MEDIA_MOUNTED)) { // 檢測sd是否可用  
                    Log.i("DoubleScreenCameraTestFile",  "SD card is not avaiable/writeable right now.");  
                    return;  
                }  
                //獲取相機返回的數據
                Bundle bundle = data.getExtras();  
                Bitmap bitmap = (Bitmap) bundle.get("data");// 轉換爲Bitmap圖片格式  
              //獲取系統當前時間 yy-mm-dd
                Date date=new Date();
                SimpleDateFormat format=new SimpleDateFormat("yyyyMMdd");
                String time=format.format(date);
                System.out.println(time);
                
                try {
                    // 使用IO流將照片寫入指定文件
                    String DCIMPath =  Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).toString();
                    final String DIRECTORY = DCIMPath + "/Camera";     
                    file = new File(DIRECTORY,"/IMG_"+time+"_"+".jpg");
                    output = new FileOutputStream(file);
                     bitmap.compress(Bitmap.CompressFormat.JPEG, 100, output);// 把數據寫入文件
                 } catch (FileNotFoundException e) {  
                        e.printStackTrace();  
                    } finally {  
                        try {  
                            output.close();
                        } catch (IOException e) {  
                            e.printStackTrace();  
                        }  
                    }  
                }
                //更新媒體庫
                 MediaScannerConnection.scanFile(getApplicationContext(), new String[] { file.toString() }, null,
                         new MediaScannerConnection.OnScanCompletedListener(){
                            @Override
                            public void onScanCompleted(
                                    String path, Uri uri) {
                                // TODO Auto-generated method stub
                            }
                 } );
    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章