Android 某些手机上不存在共享首选项路径?
Android上的默认共享首选项路径是Android 某些手机上不存在共享首选项路径?,android,sharedpreferences,Android,Sharedpreferences,Android上的默认共享首选项路径是 /data/data/package_name/shared_prefs/package_name_preferences.xml 在我的应用程序中,我可以选择将此文件备份到SD卡。 但在三星Galaxy S手机上,似乎没有类似的路径或文件 /data/data/package_name/.. 一位用户向我报告说,他在备份时出错 如果我检查错误,我可以看到: /data/data/xxx.xxxx.xxxx/shared_prefs/xxx.xxxx.
/data/data/package_name/shared_prefs/package_name_preferences.xml
在我的应用程序中,我可以选择将此文件备份到SD卡。
但在三星Galaxy S手机上,似乎没有类似的路径或文件
/data/data/package_name/..
一位用户向我报告说,他在备份时出错
如果我检查错误,我可以看到:
/data/data/xxx.xxxx.xxxx/shared_prefs/xxx.xxxx.xxxx_preferences.xml (No such file or directory)
这怎么会发生
以下是我创建路径的代码:
Environment.getDataDirectory().toString() + "/data/xxx.xxxx.xxxx/shared_pref/xxx.xxxx.xxxxx_preferences.xml"
您是否考虑过使用安卓云备份重新实现它,以便备份到云而不是SD卡
你不应该在你的应用程序中使用这样的绝对文件路径,因为并非所有安卓安装都使用相同的路径 尝试使用:SharedReferences设置=GetSharedReferences(xxx.xxxx.xxxx_preferences.xml,0)
这将使用相对寻址而不是绝对寻址来访问您的共享首选项,应该可以解决您的问题。我刚刚尝试像下面这样获取共享首选项的路径。这对我来说很有用
File f = getDatabasePath("MyPrefsFile.xml");
if (f != null)
Log.i("TAG", f.getAbsolutePath());
谢谢,但我需要一条绝对路径。我将SharedReferences备份到SD卡。GetSharedReferences无法解决我的问题,因为我无法获取路径。在Android安装上,SharedReference路径始终位于同一路径中。。。就我所知!这个问题是重复的。检查我的答案那里的三星路径。