@Override
public void onClick(View v) {
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, TAKE_PICTURE);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
if (requestCode == TAKE_PICTURE)
{
//Uri contentURI = Uri.parse(data.getDataString());
thumbnail = (Bitmap) data.getExtras().get("data");
ImageView image = (ImageView) findViewById(R.id.photoResultView);
image.setImageBitmap(thumbnail);
photoUri = data.getData();
Log.e("FOTOLOG",""+ photoUri);
}
}
答案 0 :(得分:5)
看看这个,
Android ACTION_IMAGE_CAPTURE Intent
可能会为您提供一些见解。
public void startCamera() {
File photo = null;
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
if (android.os.Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED)) {
photo = new File(android.os.Environment
.getExternalStorageDirectory(), FILE_NAME);
} else {
photo = new File(getCacheDir(), FILE_NAME);
}
if (photo != null) {
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photo));
selectedImageUri = Uri.fromFile(photo);
startActivityForResult(intent, IMAGE_CAPTURE);
}
}
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == IMAGE_CAPTURE) {
if (resultCode == Activity.RESULT_OK) {
try {
Uri selectedImage = selectedImageUri;
//getContentResolver().notifyChange(selectedImage, null);
ContentResolver cr = getContentResolver();
Bitmap bitmap;
bitmap = android.provider.MediaStore.Images.Media
.getBitmap(cr, selectedImage);
rptImage.setImageBitmap(bitmap);
} catch (Exception e) {
Toast.makeText(this, "Failed to load", Toast.LENGTH_SHORT)
.show();
Log.e("Camera", e.toString());
}
} else {
selectedImageUri = null;
rptImage.setImageBitmap(null);
}
}
}
这是我的应用程序的代码示例。
您需要获得许可,
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />