我被卡住了。我將LinearLayout轉換爲位圖,保存,然後通過電子郵件發送。我遇到的問題是我想設置文件名,以覆蓋以前的文件名。主要目的是將LinearLayout作爲圖像發送。從我讀到的,你必須先將它保存到SD卡。我很好,但我只想在任何時候都有一個保存的圖像。我得到一個文件名稱,其中包含一個隨機的13位數字文件名稱,例如(1329676773253.jpg)以下是代碼。保存設置文件名.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:"));
}
如果你想有一個固定的名字,爲什麼不直接使用一個固定的名字嗎?例如(/mnt/sdcard/myimage.jpg) – BitBank 2012-02-19 19:37:01