sharedUserId устарел, но как перенести? - PullRequest
1 голос
/ 12 июля 2020

Android Манифест sharedUserId атрибут объявлен устаревшим :

Эта константа устарела на уровне API 29. Общие идентификаторы пользователей вызывают недетерминированное поведение c в диспетчере пакетов. Таким образом, его использование категорически не рекомендуется и может быть удалено в будущей версии Android. Вместо этого приложения должны использовать надлежащие механизмы связи, такие как сервисы и поставщики контента, для облегчения взаимодействия между общими компонентами.

У меня есть версии приложений «Бесплатная» и «Профессиональная» с общим идентификатором пользователя, потому что я хотел чтобы легко скопировать данные из Free в Pro, если пользователи решили обновить. Также наличие sharedUserId не позволяет мне сделать мое приложение «Мгновенным приложением» - при попытке локального тестирования я получаю следующую ошибку:

Ошибка [-116: Пакет мгновенного приложения может не объявлять sharedUserId]

Итак, я подумываю о переходе с sharedUserId, но не понимаю, как это сделать, даже если отложить пока ситуацию с копированием данных. Если я очищу sharedUserId для следующей версии моего приложения, то обновленная версия приложения не сможет читать данные из предыдущей версии, как указано в этом вопросе Stackoverflow

Это похоже на тупик. Мне в основном нужно иметь доступ к базе данных SQLite, но я думаю, что она также привязана к sharedUserId.

...