为什么我在Android中看不到文件输出?

时间:2014-09-07 17:57:26

标签: android fileoutputstream

我正在根据Android中的图片创建GIF。我创建.gif文件并使用FileOutputStream保存,但我无法在SD卡或图库应用中的任何位置看到它。

File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "test.gif");
    FileOutputStream outStream = null;
    try{
        outStream = new FileOutputStream(file);
        outStream.write(generateGIF());
        outStream.close();
        Log.v("Creating gif", "Gif saved");
    }catch(Exception e){
        e.printStackTrace();
    }
    return null;

generateGIF返回byteArray,一切正常,没有错误。 我错过了什么吗?

2 个答案:

答案 0 :(得分:1)

您是否在AndroidManifest.xml中添加了这些标签?

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

这些标签告诉Android该应用想要访问SD卡。否则,Android会阻止请求,从而无法保存GIF。

答案 1 :(得分:1)

使用MediaScannerConnection通知系统新文件。当媒体文件以及通过USB访问SD卡时MTP / PTP数据库刷新Gallery。