Galaxy S3上的共享首选项位置

时间:2012-12-07 10:06:46

标签: android sharedpreferences

我为我的应用程序开发了导入/导出功能,因此用户可以导出数据库和共享首选项以在另一部手机中使用。这一直很好,直到我得到一个S3并试图这样做。

经过一些工作后我将数据库导入/导出工作(决定SCdards问题),但共享首选项仍然给我带来麻烦。

在新安装中导入失败,因为手机上没有共享首选项文件。一旦我更新了一个选项,就会创建文件(在检查中添加以查看手机上的文件是否存在)

这是创建它

this.sharedprefs = context.getSharedPreferences("sharedprefres.xml", Activity.MODE_PRIVATE);

这是检查文件

File sharedPrefencesFileOnPhone = new File(/data/data/PACKAGE_NAME/shared_prefs/, "sharedprefres.xml");

        if (sharedPrefencesFileOnPhone.exists()) 
            Log.d(DEBUG_TAG, "SP : Running Copy");

然后似乎复制了,但没有任何选项被更新。

这一切都可以在模拟器上运行而没有问题

只有在我更新了一个选项并且创建了一个文件后,该检查才有效,这使我相信保存了共享首选项。

S3是否隐藏了其他地方的共享偏好设置,如果有的话,我可以使用一些代码来跟踪它,这可以在多部手机上使用

感谢您的时间

1 个答案:

答案 0 :(得分:0)

尝试

/dbdata/databases/package.name/shared_prefs/package.name_preferences.xml(如果存在则使用它)

,否则

new File(getFilesDir(), "../shared_prefs");

/data/data/package.name/shared_prefs/package.name_preferences.xml