[英]Null intent in onActivityResult(int requestCode, int resultCode, Intent data)
[英]Android take photos int resultCode = -1, Intent data = null?
看到了解決方案,但是我曾經工作過,一次沒有上網。 我不知道是什么。
int resultCode = -1, Intent data = null
拍照並經常得到。
private void takePicture() {
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File photoFile = new File(Environment.getExternalStorageDirectory(), StartMenuActivity.DIR_NAME + "/" + travelDirName
+ "/" + travelDirName + "_" + poisArray.size() + ".jpg");
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photoFile));
imageOrVideoUri = Uri.fromFile(photoFile);
startActivityForResult(cameraIntent, CAMERA_REQUEST_PICTURE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if ((resultCode == RESULT_OK)&&(data != null)) {
if (requestCode == CAMERA_REQUEST_PICTURE) {
createThumbnail();
addPoi(PICTURE_POI);
}
if (requestCode == CAMERA_REQUEST_VIDEO) {
addPoi(VIDEO_POI);
}
// Uri selectedUri = imageOrVideoUri;
// Bitmap photo = (Bitmap) data.getExtras().get("data");
// imageView.setImageBitmap(photo);
} else {
Toast.makeText(TravelMapActivity.this, R.string.poi_add_error, Toast.LENGTH_LONG).show();
}
}
怎么修? 謝謝。
嘗試這個,
protected void TakePhoto() {
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
File photo = new File(Environment.getExternalStorageDirectory()
+ "/LiveChat", "IMG_temp.jpg");
System.gc();
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photo));
imageUri = Uri.fromFile(photo);
startActivityForResult(intent, 1);
}
protected void onActivityResult(int requestcode, int resultcode, Intent data) {
if (resultcode == RESULT_OK) {
System.gc();
switch (requestcode) {
case 0:
//ADD YOUR STUFF
}
} else {
Toast.makeText(getApplicationContext(), "No Image Selected",
Toast.LENGTH_SHORT).show();
}
}
因此,這里的問題是您要指定URI以便將照片寫入相機意圖中。 如果提供URI,則默認功能是不提供縮略圖-因為您已經知道圖像的位置。 在您的活動結果中,只需使用URI即可檢索您的圖像。 有關此問題,有幾個相關的帖子。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.