当我开始摄影机意图时,我为其指定了一个文件名。当我在电话上收到此消息时,它将使用电话的默认文件名。这没有帮助,因为稍后在应用程序中我需要图像名称。

相机意图代码...

public void onClick(View view) {
  String currentDateTimeString = DateFormat.getDateInstance().format(new Date());
  System.out.println(currentDateTimeString);
  filename = ("/sdcard/" + currentDateTimeString + ".jpg");

  Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
  File file = new File(Environment.getExternalStorageDirectory(), filename);

  outputFileUri = Uri.fromFile(file);
  intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
  startActivityForResult(intent, TAKE_PICTURE);
  filetype = "image/jpeg";

}

最佳答案

詹姆士,

这是我用来捕获图像并将其保存到我选择的位置(具有我的应用程序名称的子文件夹)的功能。

public void imageFromCamera() {
    Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
    if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
        Log.d(TAG, "No SDCARD");
    } else {
        mImageFile = new File(Environment.getExternalStorageDirectory()+File.separator+"MyApp",
            "PIC"+System.currentTimeMillis()+".jpg");
        mTempImagePath = mImageFile.getAbsolutePath();
        intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(mImageFile));
        startActivityForResult(intent, TAKE_PICTURE);
    }
}

08-04 08:40