在API 25之前,将文件保存到私有应用程序存储区是没有问题的。然而,当compileSdkVersion和targetSdkVersion设置为25时,这是不可能的--每当我试图读取/写入一个文件(它位于应用程序私有存储中)时,我就会得到PERMISSION_DENIED和我的应用程序崩溃。
示例1:这是调用Realm.getDefaultInstance()时抛出的异常域:
'/data/data/PACKAGE_NAME/files/default.realm.management'.:无法在路径io.realm.exceptions.RealmFileException上打开域请使用您的应用程序具有读写权限的路径。在/Users/cm/Realm/realm-java/realm/realm-library/src/main/cpp/io_realm_internal_SharedRealm.cpp第81行类别: PERMISSION_DENIED。
示例2:这是应用程序在试图持久化文件时抛出的异常(同时打开FileOutputStream):
/data/user/0/PACKAGE_NAME/files/NAME:java.io.FileNotFoundException
如前所述,我在API 24中没有这些问题。有人知道这个问题的可能原因吗?
发布于 2016-12-03 18:47:20
你的应用程序失去了处理自己文件的能力。可能的原因包括:
android:sharedUserId值--如果在清单中添加/更改/删除此属性,则必须完全卸载并重新安装该应用程序。https://stackoverflow.com/questions/40951156
复制相似问题