2012-01-17 76 views
1

我一直在試圖創建一個相機相關的應用程序。我知道我可以從頂部以編程方式創建它,但我更喜歡使用手機支持的那個。如何使用android攝像頭以編程方式控制/保存圖像?

我的意思是,而不是從0創建相機,我會/可以調用相機的活動。畢竟,它提供了我需要的所有系統和GUI。

但是,問題是我想將結果/圖像保存在之前創建的文件夾中,而不是將其保存在默認相機文件夾中。並且還將圖像重命名爲即時從默認的「圖像」到我首選的名稱。

我該如何控制它?

回答

2

試試這個。這裏我將圖片保存到sdcard,並在保存時更改其名稱。

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 

Uri mUri = Uri.fromFile(new File(Environment.getExternalStorageDirectory(), 
       "pic"+ String.valueOf(System.currentTimeMillis()) + ".jpg")); 

intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, mUri); 
1

如果您查看Camera應用程序源代碼,它允許將圖像返回給您的startActivityForResult(..)。這是你想要做的理想選擇。

作爲一個小提示:下面的方法

MediaStore

0

用於拍攝照片,SD_CARD_TEMP_DIR是你希望它存儲的路徑和圖像名稱。希望它有幫助

 private void takePicture(){ 

    SD_CARD_TEMP_DIR = Environment.getExternalStorageDirectory() + File.separator + "farmerImage"+CassavaPref.getInstance(this).getImageSuffix()+".jpg"; 
    file =new File(SD_CARD_TEMP_DIR); 
    Intent takePictureFromCameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
    takePictureFromCameraIntent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, Uri.fromFile(file)); 
    startActivityForResult(takePictureFromCameraIntent, 1111); 
} 
+0

01-22 17:56:04.470:E/AndroidRuntime(4924):致命異常:主 01-22 17:56:04.470:E/AndroidRuntime(4924):顯示java.lang.NullPointerException – Jovi 2012-01-22 09:56:43

+0

第一。在你的清單中添加permision「寫入外部存儲」,並給出你在哪一行中的表達 – AAnkit 2012-01-22 10:00:16