Integer val = myReceipt.receiptId ;
String fileName = "image" + "_" + title.getText().toString()+"_" + val.toString();
photo = this.createTemporaryFile(fileName, ".jpg");
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photo));
uriOfPhoto = Uri.fromFile(photo);
startActivityForResult(intent, RESULT_CAMERA_SELECT);
}
}
private File createTemporaryFile(String part, String ext) throws Exception
{
File tempDir = new File (Environment.getExternalStorageDirectory() + "/Catch All Keeper/Receipts");
if(!tempDir.exists())
{
tempDir.mkdir();
}
tempDir.canWrite();
return File.createTempFile(part, ext, tempDir);
}
});
我用上面的代碼應該給出文件名image_title_val,但是卻給出一個奇怪的名字image_title_(some random numbers).jpg。
為什麼出現這個問題?
你使用 File.createTempFile 來獲取一個唯一標識符,那個函數指定了隨機數。
傳入參數部分的文件名字符串用做一個前綴來生成臨時文件名稱。