在我的 Android 项目中,我试图将位图保存到给定位置的 SD 卡。
当我运行它时,我IOException
每次都得到一个,说权限被拒绝。这是关于创建 FileOutputStream。
这使我相信我缺少权限,但我包括READ and WRITE_EXTERNAL_STORAGE
. 它们在我的uses-sdk
块之前声明并且在应用程序块之外。我还在read/write
我的应用程序的其他地方发短信到一个文件,这工作得很好。我当前的代码已修改以匹配我在网上找到的几个解决方案,但我无法成功保存bitmap
文件。
如果有人能指出我的错误,我将非常感激。
ImageView imageView = (ImageView) findViewById(R.id.new_pnm_pic);
Bitmap bm = (Bitmap)data.getExtras().get("data");
imageView.setImageBitmap(bm);
String outPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Recruits";
try {
File d = new File(outPath);
if (!d.exists())
d.mkdirs();
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd-kk-mm-ss");
String currentTime = sd.format(new Date());
File file = new File(outPath+'/'+currentTime+".jpg");
FileOutputStream fOut = new FileOutputStream(file.getPath());
bm.compress(Bitmap.CompressFormat.JPEG, 50, fOut);
fOut.flush();
fOut.close();
}
catch(IOException ioe){
Toast.makeText(this, "Nice try but didn't work", Toast.LENGTH_SHORT).show();
}