Android Манифест sharedUserId
атрибут объявлен устаревшим :
Эта константа устарела на уровне API 29. Общие идентификаторы пользователей вызывают недетерминированное поведение c в диспетчере пакетов. Таким образом, его использование категорически не рекомендуется и может быть удалено в будущей версии Android. Вместо этого приложения должны использовать надлежащие механизмы связи, такие как сервисы и поставщики контента, для облегчения взаимодействия между общими компонентами.
У меня есть версии приложений «Бесплатная» и «Профессиональная» с общим идентификатором пользователя, потому что я хотел чтобы легко скопировать данные из Free в Pro, если пользователи решили обновить. Также наличие sharedUserId
не позволяет мне сделать мое приложение «Мгновенным приложением» - при попытке локального тестирования я получаю следующую ошибку:
Ошибка [-116: Пакет мгновенного приложения может не объявлять sharedUserId]
Итак, я подумываю о переходе с sharedUserId, но не понимаю, как это сделать, даже если отложить пока ситуацию с копированием данных. Если я очищу sharedUserId для следующей версии моего приложения, то обновленная версия приложения не сможет читать данные из предыдущей версии, как указано в этом вопросе Stackoverflow
Это похоже на тупик. Мне в основном нужно иметь доступ к базе данных SQLite, но я думаю, что она также привязана к sharedUserId.