【问题标题】:Sharing data between Android framework and app在 Android 框架和应用程序之间共享数据
【发布时间】:2012-08-13 07:01:21
【问题描述】:

是否可以在 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”。

如何在这两个组件之间共享数据?

【问题讨论】:

    标签: android frameworks sharedpreferences


    【解决方案1】:

    请查看Content Providers 中的developer.android.com,这可能会对您有所帮助。 This is an example

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-11
      • 2018-08-05
      • 2019-03-29
      相关资源
      最近更新 更多