如何使用默認相機在android中拍照?默認相機在Android中拍攝照片
回答
Uri imageUri;
final int TAKE_PICTURE = 115;
public void capturePhoto(View view) {
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
File photoFile = new File(Environment.getExternalStorageDirectory(), "Photo.png");
intent.putExtra(MediaStore.EXTRA_OUTPUT,
Uri.fromFile(photoFile));
imageUri = Uri.fromFile(photoFile);
startActivityForResult(intent, TAKE_PICTURE);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case TAKE_PICTURE:
if (resultCode == Activity.RESULT_OK) {
Uri selectedImageUri = imageUri;
//Do what ever you want
}
}
}
感謝科坦其有益的給我 – 2011-05-10 05:26:43
太感謝你了,我已經一直在摸索着像一個小時試圖讓相機對象和預覽方法工作,當這一切都是我從一開始就想要的。 – 2011-05-23 19:33:40
嗨阿貝漢,你的代碼將顯示所有第三方相機應用程序以及默認相機應用程序。如果某個人只想顯示默認相機而不顯示任何第三方相機應用程序的選擇器,如** Line Camera **和** Paper Camera **? – 2013-09-27 12:16:29
它是用來打開攝像頭的目的是
buttonCapturePhoto.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, CAPTURE_IMAGE);
}
});
,讓你拍攝後的圖像的代碼是
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Uri uriImage;
InputStream inputStream = null;
if ((requestCode == SELECT_IMAGE || requestCode == CAPTURE_IMAGE) && resultCode == Activity.RESULT_OK) {
uriImage = data.getData();
try {
inputStream = getContentResolver().openInputStream(uriImage);
Bitmap bitmap = BitmapFactory.decodeStream(inputStream, null, options);
imageView.setImageBitmap(bitmap);
} catch (NullPointerException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
imageView.setAdjustViewBounds(true);
}
}
這是一個簡單的例子。總之,這會將圖像作爲一個小的位圖返回。如果要檢索全尺寸的圖像,會稍微複雜一些。
ImageView takePhotoView = (ImageView) findViewById(R.id.iwTakePicture);
Bitmap imageBitmap = null;
takePhotoView.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
dispatchTakePictureIntent(0);
}
});
private void dispatchTakePictureIntent(int actionCode) {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(takePictureIntent, actionCode);
}
private void handleSmallCameraPhoto(Intent intent) {
Bundle extras = intent.getExtras();
this.imageBitmap = (Bitmap) extras.get("data");
takePhotoView.setImageBitmap(imageBitmap);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(resultCode == RESULT_OK)
handleSmallCameraPhoto(data);
}
- 1. 從相機拍攝照片
- 2. 的Android相機拍攝多張照片
- 3. UIImagePickerController從相機拍攝照片 - 默認爲方塊
- 4. 相機拍攝照片在Android臨時保存圖片?
- 5. 使用UIViewController(MonoTouch)相機拍攝照片
- 6. 相機照片拍攝失敗
- 7. IntentFilter相機和拍攝的照片
- 8. 拍攝來自相機的照片
- 9. Monodroid使用相機拍攝照片
- 10. 如何在拍攝照片時獲取默認相機存儲位置?
- 11. 離子:相機在每張照片後要求確認/拍攝多張照片
- 12. android中的java.lang.OutOfMemoryError保存從相機拍攝的照片
- 13. 避免畫廊保存在Android的相機拍攝的照片
- 14. 如何從默認相機拍攝照片並在我的應用程序中使用此照片?
- 15. 通過默認相機拍照
- 16. 默認相機應用程序拍攝照片時顯示一條消息
- 17. 無法通過默認相機應用程序的意圖拍攝照片
- 18. 從Galley和照相機拍攝照片在Tamarin.forms
- 19. 在android中的相機拍攝的imageview照片中顯示圖片
- 20. 如何從Flex移動設備中的默認相機應用拍攝照片時如何上傳照片?
- 21. Phonegap相機API保存拍攝到相機膠捲的照片
- 22. 從原生Android相機應用拍攝黑白照片
- 23. Android:無法獲得相機拍攝的照片尺寸
- 24. 使用Android相機拍攝照片後開始新活動
- 25. 如何從全尺寸相機拍攝照片? (Android Java)
- 26. Android相機無法拍攝來自後臺服務的照片
- 27. 拍攝一張照片後,Android相機凍結
- 28. 使用Android相機拍攝的照片的奇怪尺寸
- 29. Android相機拍攝照片時不保存到SD卡
- 30. 從畫廊和相機拍攝照片android
可能重複的[Android攝像頭的意圖。(http://stackoverflow.com/questions/2729267/android-camera-intent) – Aleadam 2011-05-10 05:27:00