getDefaultSharedPreferences(con)
アプリケーションで設定を保存するために使用しています。ここで、別のアプリケーションでこの共有設定にアクセスしたいと考えています。私は次の方法を使用しました:
con = this.createPackageContext("com.example.preferences", Context.CONTEXT_INCLUDE_CODE | Context.CONTEXT_IGNORE_SECURITY);
SharedPreferences filePref = PreferenceManager.getDefaultSharedPreferences(con);
if(filePref != null){
Toast.makeText(getApplicationContext(), "file pref not null --- ", Toast.LENGTH_LONG).show();
}else{
Toast.makeText(getApplicationContext(), "file pref is null **** ", Toast.LENGTH_LONG).show();
}
Map<String,?> allkeys = filePref.getAll();
Toast.makeText(getApplicationContext(), "file pref size **** "+allkeys.size(), Toast.LENGTH_LONG).show();
for(Map.Entry<String,?> entry : allkeys.entrySet()){
Toast.makeText(getApplicationContext(), "~~~ file pref --- map values --- "+entry.getKey() + ": "+entry.getValue().toString(), Toast.LENGTH_LONG).show();
}
試した別の方法は、次のようにファイル名を指定してアクセスすることです。
SharedPreferences filePref = gvcon.getSharedPreferences("com.example.preferences_preferences", Context.MODE_PRIVATE);
このメソッドを使用SharedPrefernce
すると、ファイルにアクセスできます。ファイルがnullではありませんが、ファイルサイズを確認すると0が表示されます。ファイルから設定値を読み取ることができません。別のアプリケーションを使用shareduserid
して、そのアプリケーションに完全にアクセスできるようにしました。これについての適切な方法は何ですか?