Android 4.3 でテスト済み。私は 2 つのアプリを持っていcom.my.app.first
ますcom.my.app.second
。私のアクティビティでは、他のアプリから設定を読みたいと思っています。両方のアプリに同じユーザー ID を使用することにしました。
android:sharedUserId="com.my.app"
私はいつも次のように設定をロードします。
prefs = getSharedPreferences("MyAppPreferences", Context.MODE_PRIVATE);
さて、私の2 番目のアプリでは、次のことを行います。
try {
Context context = createPackageContext("com.my.app.first", Context.CONTEXT_IGNORE_SECURITY);
// context.getPackageName() does indeed return "com.my.app.first"
// Note: Context.MODE_WORLD_READABLE makes no difference here!
prefs = context.getSharedPreferences("MyAppPreferences", Context.MODE_PRIVATE);
}
prefs.mFile
を誤って指してい/data/data/com.my.app.second/shared_prefs/MyAppPreferences.xml
ます。
明らかに、getSharedPreferencesの呼び出しは、他のアプリのコンテキストを使用したにもかかわらず、現在のアプリの設定を返します。私は何を間違っていますか?助けてください!