我如何保存一个图像到用户的手机?

问题描述 投票:0回答:1

我遵循了很多指南的如何保存和重新加载图像到手机,并来到这个:在视频中,它的工作原理,但由于某些原因,它不为我工作。

是否有更好的版本,也许这样做呢?还有,我以后如何从这里读取,以便我可以用Picasso粘贴到另一个ImageView中?

(更新:Logcat说:Logcat说:java.io.FileNotFoundException: storageemulated0LiFitprofileimage.jpg (没有这样的文件或目录),但我明明用mkdir命令创建了这个文件夹,为什么没有工作?)

BitmapDrawable drawable = (BitmapDrawable) profilBild.getDrawable();
Bitmap bitmap = drawable.getBitmap();
File sdCard = Environment.getExternalStorageDirectory();
File directory = new File(sdCard.getAbsolutePath()+ "/LiFit");
directory.mkdir();
String fileName = String.format("%d.jpg", System.currentTimeMillis());
File outFile = new File(directory, fileName);
Toast.makeText(getActivity(), "Pic saved", Toast.LENGTH_LONG).show();
try {
    outputStream = new FileOutputStream(outFile);
    bitmap.compress(Bitmap.CompressFormat.JPEG, 100, outputStream);
    try {
        outputStream.flush();
        outputStream.close();
        Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
        intent.setData(Uri.fromFile(outFile));
        getContext().sendBroadcast(intent);
    } catch (IOException e) {
        e.printStackTrace();
    }
} catch (FileNotFoundException e) {
    e.printStackTrace();
}
java android image android-studio fileoutputstream
1个回答
0
投票

显然你需要在应用设置中把权限改为......

© www.soinside.com 2019 - 2024. All rights reserved.