您好,我建立了一个使用相机拍照的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可能存在错误。

我想到的是:
三星手机上可能不存在该目录,因此您必须首先创建它。

只是一些初步的猜测。

08-05 18:40