您好,我建立了一个使用相机拍照的android应用程序,然后将其作为电子邮件附件发送。
它可以在htc手机上正常工作,但不能在仅向我的邮件发送空附件的三星银河上使用。
有人对如何解决这个问题有建议吗?
我的代码:
private final static int TAKE_PHOTO_CODE = 1;
File downloadedPic = null;
Intent in;
boolean taken = false;
//NEW
private static int TAKE_PICTURE = 1;
private Uri outputFileUri;
private void TakePhoto() {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File file = new File(
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "fotowedstrijd.jpeg");
outputFileUri = Uri.fromFile(file);
intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
startActivityForResult(intent, TAKE_PICTURE);
}
private void sendPhoto(){
Intent picMessageIntent = new Intent(Intent.ACTION_SEND);
picMessageIntent.putExtra(Intent.EXTRA_EMAIL , new String[]{"[email protected]"}); //[email protected]
picMessageIntent.putExtra(Intent.EXTRA_SUBJECT, "Fotowedstrijd inzending Openbedrijvendag Emmen");
picMessageIntent.putExtra(Intent.EXTRA_TEXT , "Mijn inzending voor de fotowedstrijd");
picMessageIntent.setType("image/jpeg");
File downloadedPic = new File(
Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES),
"fotowedstrijd.jpeg");
picMessageIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(downloadedPic));
startActivity(picMessageIntent);
//startActivity(Intent.createChooser(picMessageIntent, "Send your picture using:"));
}
最佳答案
我发现:
Android ACTION_IMAGE_CAPTURE Intent
它的意思是MediaStore.ACTION_IMAGE_CAPTURE可能存在错误。
我想到的是:
三星手机上可能不存在该目录,因此您必须首先创建它。
只是一些初步的猜测。