我期待下面的代码将图像保存到我的本地SD卡但是当我运行应用程序并触发saveCanvasImage()方法时,它没有这样做.当我查看LogCat时,我可以找到一个System.err条目.文字说:
java.io.FileNotFoundException:/mnt/sdcard/drawPic1.png:打开失败:EACCES(权限被拒绝)
我以为这会创建一个新的png文件并将其保存在目录中.我显然错了.我可以在这里改变什么来使它工作?
public void saveCanvasImage() {
Log.d("bitmap","strm");
tv.setDrawingCacheEnabled(true);
Bitmap bm = tv.getDrawingCache();
File fPath = Environment.getExternalStorageDirectory();
File f = null;
f = new File(fPath, "drawPic1.png");
try {
FileOutputStream strm = new FileOutputStream(f);
bm.compress(CompressFormat.PNG, 80, strm);
strm.close();
}
catch (IOException e){
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
你有权限吗?
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5028 次 |
| 最近记录: |