Android退出应用获取本地SharedPreferences存储文件

来源:互联网 发布:软件项目质量管理计划 编辑:程序博客网 时间:2024/05/14 17:57
最近在做HCE云闪付项目过程中,遇到退出应用无法进行闪付交易的问题,查证良久是由于退出APP后,由于SharedPreferences设置模式无法获取本地存储文件导致。只需如下修改即可:

public static boolean getScreenValue(Context context, String key) {
try {
context = context.createPackageContext(NetUrls.PACKAGENAME,
Context.CONTEXT_IGNORE_SECURITY);
} catch (PackageManager.NameNotFoundException e) {
Log.e(TAG, “find package error!”);
}
SharedPreferences prefs =context.getSharedPreferences(FILE_NAME, Context.MODE_WORLD_READABLE);
return prefs.getBoolean(key, false);
}
SharedPreferences背后是使用xml文件保存数据,getSharedPreferences(name,mode)方法的第一个参数用于指定该文件的名称,名称不用带后缀,后缀会由Android自动加上。方法的第二个参数指定文件的操作模式,共有四种操作模式,
这四种模式代表的含义为:
Context.MODE_PRIVATE = 0
Context.MODE_APPEND = 32768
Context.MODE_WORLD_READABLE = 1
Context.MODE_WORLD_WRITEABLE = 2
Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中。可以使用Context.MODE_APPEND
Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。
Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件。
MODE_WORLD_READABLE:表示当前文件可以被其他应用读取;MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入。

0 0
原创粉丝点击