Я использую getDefaultSharedPreferences(con)
в своем приложении для сохранения настроек. Теперь я хочу получить доступ к этим общим предпочтениям в другом приложении. Я использовал следующий метод:доступ к sharedpreference для приложений
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
файл, он возвращает файл не пуст, но когда я проверить размер файла он показывает 0. Я не могу прочитать значение предпочтения из файла. Я использовал shareduserid
другого приложения, чтобы получить полный доступ к этому приложению. Каков правильный способ этого?
взглянуть при этом ответе http://stackoverflow.com/a/13236870/1936366 и это http://stackoverflow.com/questions/6030321/android-retrieving-shared-preferences-of-other-application –