【问题标题】:Camera intent android相机意图android
【发布时间】:2011-03-22 17:52:49
【问题描述】:

当我开始相机意图时,我给它一个我希望它使用的文件名。当我在手机上得到它时,它使用手机的默认文件名。这无济于事,因为我稍后需要在应用程序中使用图像名称。

相机意图代码...

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";

}

【问题讨论】:

  • James,我看到的我使用的代码和你的代码之间的唯一区别是 Intent 的创建。这是我的电话Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
  • 你的工作好吗?用你的文件名?
  • 是的,一秒钟让我发布我的整个函数作为答案......

标签: android android-camera android-camera-intent


【解决方案1】:

詹姆斯,

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

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);
    }
}

【讨论】:

  • 它给出 java.lang.RuntimeException: 失败交付结果 ResultInfo{who=null, request=1, result=-1, data=Intent { act=inline-data (has extras) }} 到活动{
猜你喜欢
  • 2023-04-11
  • 2011-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多