【问题标题】:Obtaining File path when storing image存储图片时获取文件路径
【发布时间】:2015-07-16 00:12:26
【问题描述】:

我正在尝试获取在使用 ACTION_IMAGE_CAPTURE 意图后存储的图像的文件路径:

if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
        Bundle extras = data.getExtras();
        Bitmap imageBitmap = (Bitmap) extras.get("data");


        mImageOne.setImageBitmap(imageBitmap);
        SaveImageOne(imageBitmap);

}

保存图像函数

private void SaveImageOne(Bitmap finalBitmap) {

    String root = Environment.getExternalStorageDirectory().toString();
    File myDir = new File(root + "/saved_images");
    myDir.mkdirs();
    String fname = "Image-1.jpg";
    File file = new File (myDir, fname);
    if (file.exists ()) file.delete ();
    try {
        FileOutputStream out = new FileOutputStream(file);
        finalBitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);
        out.flush();
        out.close();

    } catch (Exception e) {
        e.printStackTrace();
    }
}

这样我可以将存储文件的“文件路径”存储到 SharedPreferences 以供稍后访问,并作为图像附件传递到 ACTION_SEND。

【问题讨论】:

    标签: java android android-intent sharedpreferences


    【解决方案1】:

    在这行out.close();之后写下这一行

    String pathString = file.getAbsolutePath(); // gives you the path of the file
    

    现在就随心所欲地使用它

    【讨论】:

    • 我将如何在此使用该 pathString:emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///mnt/sdcard/Myimage.jpeg")); ?我会这样做:emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///" + pathString));或类似的东西?
    • 是的,你试过了吗?另一个很长的路是emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(new File(pathString)));希望它解决它?如果有错误让我知道@Shaniqua
    猜你喜欢
    • 1970-01-01
    • 2013-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-05
    相关资源
    最近更新 更多