Как я могу поделиться файлом SharedPreferences между двумя разными приложениями для Android?

Я боролся с этим некоторое время. По сути, я хочу, чтобы два приложения (которые всегда будут устанавливаться вместе) совместно используют настройки, при этом одно из них является просто службой, которая работает в фоновом режиме и должна использовать настройки (должны иметь настройки, но толькоreally необходимо прочитать их), а другое приложение является интерфейсным приложением пользовательского интерфейса, которое должно иметь возможность записи в файл настроек, принадлежащий другому приложению. Служба будет работать в фоновом режиме (что может быть определено предпочтениями), а пользовательский интерфейс позволит пользователю редактировать предпочтения и просматривать некоторую информацию из службы. Однако это будут разные пакеты / приложения.

Я пытался следоватьэтот урок что дало мне довольно хорошее представление о том, как иметь предпочтения в одном приложении, которые могут быть прочитаны другим. По сути, я создаю новый контекст черезmyContext = createPackageContext("com.example.package",Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE); а затем позвонитеmyContext.getSharedPreferences("pref_name", Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE); Однако я не могу успешно писать в настройки из внешнего приложения - (SharedPreferences.Editor) .commit () возвращает false, и в logcat появляется предупреждение о невозможности изменить pref_name.xml.bak.

Как я могу успешно настроить свои приложения, чтобы они оба могли читать и записывать в один и тот же файл настроек (который хранится в папке данных одного из них)?

Ответы на вопрос(2)

Ваш ответ на вопрос