【问题标题】:application failed to create folder when other application occupy it其他应用程序占用时应用程序创建文件夹失败
【发布时间】:2015-11-13 19:50:42
【问题描述】:

这是我的问题。

首先我在创建时创建了我的个人文件夹

File parentFolder = new File(MainApplication.getInstance().getExternalCacheDir().getAbsolutePath()
            + File.separator+"myfolder");
    if (!parentFolder.exists()) {
        parentFolder.mkdirs();
    }

其次,在我的应用程序中,我可以从另一个应用程序接收诸如 png 之类的文件,并且我收到的文件已保存在 /Android/data/packageName/cache/myfolder/hashcode/example.png 中。我选择画廊从意图选择器中打开它。

当画廊打开并且我可以看到 png 文件时。我终止了我的应用程序的进程并卸载它。

最后我再次安装我的应用程序。路径 /Android/data/packageName 没有被创建!并创建函数显示

MainApplication.getInstance().getExternalCacheDir();

返回空值!

给我一​​些建议!谢谢。

【问题讨论】:

    标签: android nullpointerexception mkdirs


    【解决方案1】:

    尝试使用

    new Context().getApplicationContext().getExternalCacheDir().getAbsolutePath()
    

    【讨论】:

    • 没有使用这个方法。不管怎么getExternalCacheDir()都会返回null。因为app由于某种原因没有创建路径
    • 因此,您可以使用文件夹/目录来代替缓存。无论如何,当设备存储空间不足时,缓存文件夹会自动删除其文件。
    • 我知道,但我需要删除我在 onDestroy() 收到或创建的文件和文件夹
    猜你喜欢
    • 1970-01-01
    • 2020-11-26
    • 1970-01-01
    • 2021-05-05
    • 2017-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多