Вы действительно можете поделиться предпочтениями между приложениями.Вот почему он называется SharedPreferences.
Вам нужно убедиться, что оба приложения подписаны одним и тем же сертификатом и имеют одинаковый SharedUserId в файле AndroidManifest.xml: читать здесь .
Это потому, что SharedPreferences, которые вы получаете от
PreferenceManager.getDefaultSharedPreferences(context)
, всегда имеет MODE_PRIVATE.
Однако в приложении вы также можете получить объект SharedPreferences в контексте с помощьюследующее:
SharedPreferences prefs = getSharedPreferences("my_public_shared_prefs", MODE_WORLD_READABLE);
, которое вы можете свободно извлекать из другого приложения с помощью следующего:
Context context = createPackageContext("my_target_app_package", Context.CONTEXT_IGNORE_SECURITY);
SharedPreferences prefs = context.getSharedPreferences("my_public_shared_prefs", MODE_WORLD_READABLE);
Убедитесь, что вы не храните там личную информацию, потому что она читается МИР, что означаетвы и все остальные можете прочитать эти данные.
Для завершения, если вы хотите получить SharedPreferences вашего старого приложения, вам необходимо обновить старое приложение с SharedUserId в файле Manifest.