3

正如我在标题中已经提到的,当我从 GooglePlayStore 卸载我的应用程序并重新安装它时,我发现了一些奇怪的问题。如您所见,App Cache Directory 没有被删除,该 App 名为net.example

shell@gt510wifi:/storage/emulated/0/Android/data $ ls -la
-rw-rw---- root     sdcard_rw        0 2015-01-01 01:01 .nomedia
...
drwxrwx--x u0_a80   sdcard_rw          2017-01-27 09:30 flipboard.boxer.app
drwxrwx--x u0_a197  sdcard_rw          2017-03-01 17:47 net.example
drwxrwx--x root     sdcard_rw          2016-12-29 14:00 shaders


 app is uninstalled, but cache and data directory persist:


shell@gt510wifi:/storage/emulated/0/Android/data $ ls -la
-rw-rw---- root     sdcard_rw        0 2015-01-01 01:01 .nomedia
...
drwxrwx--x u0_a80   sdcard_rw          2017-01-27 09:30 flipboard.boxer.app
drwxrwx--x u0_a197  sdcard_rw          2017-03-01 17:47 net.example
drwxrwx--x root     sdcard_rw          2016-12-29 14:00 shaders
shell@gt510wifi:/storage/emulated/0/Android/data $

从文档:

注意:当用户卸载您的应用程序时,该目录及其所有内容都将被删除。此外,系统媒体扫描程序不会读取这些目录中的文件,因此无法从 MediaStore 内容提供程序访问它们。因此,您不应该将这些目录用于最终属于用户的媒体,例如使用您的应用程序拍摄或编辑的照片,或者用户使用您的应用程序购买的音乐——这些文件应该保存在公共目录中。

https://developer.android.com/guide/topics/data/data-storage.html#filesExternal

所以这似乎是一个三星错误,在重新安装应用程序后导致权限错误:

E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: /storage/emulated/0/Android/data/net.example/cache/FileCache/20b7a74246f5d80d92ba2e3d1918331cfb98fd11: open failed: EACCES (Permission denied)

也许有人在三星设备上遇到过类似的错误?

编辑:我已经"allowBackup:false"在 Manifest 中实现了,但问题仍然存在。

4

0 回答 0