设置保存.JPG的文件名

时间:2012-02-19 19:24:53

标签: android

我被困住了。我正在将LinearLayout转换为Bitmap,保存它,然后通过电子邮件发送它。我遇到的问题是我想设置文件名,以便覆盖以前的文件名。主要目的是将LinearLayout作为图像发送电子邮件。根据我的阅读,你必须先将它保存到SD卡。我很好,但我只想在任何时候都有一个保存的图像。我得到一个文件名,看起来像一个随机的13位数字文件名(1329676773253.jpg)这是代码。

void image() {

    llImage.setDrawingCacheEnabled(true);
    test2 = Bitmap.createBitmap(llImage.getDrawingCache());
    ContentValues values = new ContentValues();
    values.put(Images.Media.TITLE, "001");
    values.put(Images.Media.DISPLAY_NAME, "ast.jpg");
    values.put(Images.Media.DATE_ADDED, System.currentTimeMillis());
    values.put(Images.Media.MIME_TYPE, "image/jpeg");

    Uri uri2 = getContentResolver().insert(
            Images.Media.EXTERNAL_CONTENT_URI, values);
    try {
        OutputStream outStream = getContentResolver()
                .openOutputStream(uri2);
        test2.compress(Bitmap.CompressFormat.PNG, 100, outStream);

        outStream.flush();
        outStream.close();
        Log.d("done", "done");
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }



    final Intent emailIntent = new Intent(
            android.content.Intent.ACTION_SEND);
    emailIntent.setType("text/html");
    emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "");
    emailIntent.putExtra(Intent.EXTRA_STREAM, uri2);
    emailIntent.setType("image/png");
    emailIntent.putExtra(android.content.Intent.EXTRA_TEXT,
            Html.fromHtml("" + finalEmail));
    startActivity(Intent.createChooser(emailIntent, "Email:"));

}

1 个答案:

答案 0 :(得分:0)

您只需使用FileOutputStream写入文件:

FileOutputStream outStream = new FileOutputStream("filename.jpg");