2011年1月6日星期四

通過EXTRA_OUTPUT, 指定儲存圖像的路徑

前文說明如何"使用意圖MediaStore.ACTION_IMAGE_CAPTURE要求其他服務提供程序幫我們拍照", 但只返回一張縮圖.

但我們可以通過傳送一個EXTRA_OUTPUT的Extra給Intent, 指定儲存圖像的路徑.

修改前文"使用意圖MediaStore.ACTION_IMAGE_CAPTURE要求其他服務提供程序幫我們拍照"中的onClick()方法:

  public void onClick(View arg0) {
// TODO Auto-generated method stub

//Specify the path of the captured image
String strImage = Environment.getExternalStorageDirectory().getAbsolutePath()+"/mypicture.jpg";
File myImage = new File(strImage);
Uri uriMyImage = Uri.fromFile(myImage);

Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, uriMyImage);
startActivityForResult(intent, 0);

}


亦可以使用ContentResolver, 指定Android操作系統儲存圖像的標準路徑.

  public void onClick(View arg0) {
// TODO Auto-generated method stub

//Use the standard location for image
Uri uriMyImage = getContentResolver().insert(Media.EXTERNAL_CONTENT_URI, new ContentValues());

Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, uriMyImage);
startActivityForResult(intent, 0);

}


相關文章:
- 通過EXTRA_OUTPUT, 指定並顯示使用 ACTION_IMAGE_CAPTURE 拍攝的圖像

4 則留言:

  1. 那怎樣把它顯示在ImageView上?
    我按照"使用意圖MediaStore.ACTION_IMAGE_CAPTURE要求其他服務提供程序幫我們拍照"的方法會fc

    回覆刪除
  2. Can you send me your code?
    androidian@ymail.com

    回覆刪除
  3. 我要怎麼將拍照的檔案存在內部記憶體?

    回覆刪除