0
私はsharedUserIdの下にApp AとApp Bを持っています。 App Bでは、AのsharedPreferencesを取得したいと思います。今、私はアプリケーションAのsharedPreferencesを得ることができますが、再コンパイル時のみです。これは可能ですか?sharedUserIDを持つアプリ間でOnSharedPreferenceChangeListenerが実装されていますか?
これは私がアプリBにしようとしてるものの例である:
// get Context of Shared App
sharedContext = this.createPackageContext("com.app.A",Context.CONTEXT_IGNORE_SECURITY);
// get desired preferences from app A
myPrefs = sharedContext.getSharedPreferences(PREFERENCES,Context.MODE_PRIVATE);
// keeping local copy of this listener
listener = new SharedPreferences.OnSharedPreferenceChangeListener() {
public void onSharedPreferenceChanged(SharedPreferences myPrefs, String key) {
if (key.equals(PREFERENCES)) {
// Do something
Log.d("Test", "preferences were updated");
}
}
};
// register listener
myPrefs.registerOnSharedPreferenceChangeListener(listener);
「アプリケーションが同じLinuxユーザーIDを共有し、同じ証明書で署名されている場合、異なるアプリケーションのコンポーネントが同じプロセスで実行されるように、android:processを設定することもできます。 - これは実現可能な道でしょうか? – Elisabeth
プロセスの間でオブジェクトを共有することは不可能なため、IPCなしで別のプロセスの変更を聞くことも不可能です。 – F43nd1r
リスナーがピックアップしています:)!ときには、あなたが問題にこだわっていることが面白いです。あなたがコミュニケーションをとるとすぐに、答えを見つけることができます。 – Elisabeth