是否可以在Android框架和应用之间共享数据?
我正在修改Android框架登录组件,以便在登录时保存变量,然后由另一个应用程序检索。我正在尝试使用SharedPreferences,我的代码如下所示:
在com.android.internal.policy.impl.PasswordUnlockScreen.java中,我有以下代码写入SharedPreferences。
SharedPreferences prefs = getContext().getSharedPreferences("mypref", Context.MODE_WORLD_READABLE);
SharedPreferences.Editor editor = prefs.edit();
editor.putString("mypref", "my data"
editor.commit();
在我的其他应用中,我有以下代码可供阅读。
Context con;
String data;
try {
con = this.createPackageContext("com.android.internal.policy.impl", 0);
SharedPreferences pref = con.getSharedPreferences("mypref", Context.MODE_PRIVATE);
data = pref.getString("mypref", "0")
} catch (NameNotFoundException e) {
data = "0";
Log.e("No data shared", e.toString());
}
当我运行代码时,我不断收到NameNotFoundException,因为它声称找不到应用程序包com.android.internal.policy.impl,所以我的数据总是“0”。
如何在这两个组件之间共享数据?