1

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());
}

コードを実行すると、アプリケーションパッケージcom.android.internal.policy.implが見つからないと主張するため、NameNotFoundExceptionが発生し続け、データは常に「0」になります。

これら2つのコンポーネント間でデータを共有するにはどうすればよいですか?

4

1 に答える 1

1

developer.android.comContent Providersからご覧ください。これはあなたを助けるかもしれません。これは例です

于 2012-08-13T07:22:11.140 に答える