Android Marshmallow损坏存储的数据并阻止写入内部SD卡

时间:2016-11-04 02:51:05

标签: android storage android-6.0-marshmallow

我正在开发针对API 18的应用程序。应用程序通过蓝牙和GSM下载数据并将数据存储在内部SD卡上(通常是\ emulated \ sdcard - 由Environment.getExternalStorageDirectory()引导)。

直到这次一切正常 - 文件和文件夹才能正确保存。 今天我面临着非常奇怪的行为:

1)启动应用程序,它可以工作超过一个小时并存储数据文件。

2)之后,我关闭了应用程序并希望将数据下载到计算机。    在插件USB之前,我使用了Android文件资源管理器软件来检查存储的数据。

我很震惊 - 新文件夹(任何新数据)都没了! 就像系统删除或隐藏在上次应用会话中创建的所有文件和数据一样。

备注:应用程序没有删除文件夹或文件的程序。它也适用于以前版本的Android(主要是4.X和5.X)。

这很奇怪,因为当保存不可能且没有显示警告时,app会有警告机制。所以我认为,系统允许写入,但此时数据不可见。

另一个陌生的事情是应用程序此时无法在内部存储中写入任何文件(在这种情况下警告会显示为应该)。

它看起来像Android Marshmallow"决定"特别是时刻 - 您的新数据不再可用,您的应用无法写入内部卡。 我已经检查了系统中的应用权限 - 好的。

任何想法,为什么会这样?怎么处理呢?