Также важно: приложение А не должно модифицироваться, если это возможно.
К счастью для вас, это невозможно.В противном случае, каждый может получить данные приложения А., когда захочет.
Я получаю точку с sharedUserId, но на какой сертификат он ссылается?
Это было быключ подписи, с которым подписано ваше заявление.Для производства это будет ключ подписи, который вы использовали, например, для Android Market.
Помните, что вы не можете изменить sharedUserId
Приложения A, не сломав всех существующих пользователей.Google также не рекомендует разработчикам SDK возиться с sharedUserId
.
Вопрос к пункту три: есть ли способ получить доступ к информации приложения A, если оно будет сохранено в другом Context.MODE?
Context.MODE
не имеет ничего общего с внешним хранилищем.Каждое приложение может читать (и, с помощью WRITE_EXTERNAL_STORAGE
, писать) все, что они хотят, на внешнем хранилище.
Context.MODE
вступает в игру с внутренним хранилищем (openFileOutput()
).Однако, если вы сделаете файл доступным для чтения всем, тогда любое приложение сможет прочитать эти данные, а не только приложение B.
Поставщик содержимого: к значительным изменениям
Это,или, возможно, сервис с интерфейсом AIDL - лучший ответ, когда вы используете настраиваемое разрешение, чтобы гарантировать, что только приложение B может получить доступ к данным приложения A.