Настройки Android - насколько Shareable доступен для обмена? - PullRequest
1 голос
/ 02 марта 2012

Я использую PreferenceActivity, чтобы позволить Android обрабатывать некоторые постоянные пары ключ / значение для моего приложения.

Согласно Документам по настройкам Android :

Обратите внимание, что сохраненные настройки доступны только приложению, которое их создало.

Однако при дальнейшем исследовании аспекта предпочтений в области безопасности и разрешений я сталкиваюсь с такими вопросами:

Android: извлечение общих настроек другого приложения

, когда некоторые пользователи говорят, что предпочтения можно сделать общедоступными и общедоступными и что они могут успешно обращаться к ним через приложения.

Итак, мой вопрос:

Являются ли предпочтения неотъемлемо недоступными в приложениях или я должен принять меры предосторожности, чтобы сделать их такими?

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

Ответы [ 2 ]

2 голосов
/ 03 марта 2012

Из приведенных выше ответов и комментариев мне кажется, что документы для разработчиков Android на эту тему немного вводят в заблуждение.

Я даже нашел другое место, где документы для разработчиков прямо заявляют, что настройки недоступны черезapps:

(Обратите внимание, что невозможно обмениваться данными настроек между пакетами приложений - для этого вам потребуется поставщик контента.)

Ссылка на вышеупомянутыепроцитируйте это здесь: http://developer.android.com/reference/android/app/Activity.html#SavingPersistentState

Но ответы @shruti и @ raman-bhatia (спасибо, ребята!) поддерживают тот факт, что настройки можно настроить для совместного использования в приложениях, как и запрос SO Iупоминается в вопросе.

Клинкер нашел этот запрос SO: Разница между getDefaultSharedPreferences и getSharedPreferences , показывающая, как файл общих настроек по умолчанию изначально настроен как закрытый.

Спасибо всем.Ответ заключается в том, что документы вводят в заблуждение, так как настройки можно принудительно сделать доступными для всех приложений, но PreferenceActivity по умолчанию создаст защищенный файл общих настроек, видимый только для компонентов приложения, из которого он был создан.

0 голосов
/ 02 марта 2012

Существуют режимы, связанные с общими настройками, которые вы определяете при их создании.Например, вы можете сделать их «World Readable» или «World Writable», если хотите, чтобы остальные приложения на вашем устройстве знали о них.Таким образом, вы можете использовать свои собственные флаги для настройки прозрачности общих настроек, которые вы создаете

...