Подтвердить что ты не робот

Поставщик контента INSTALL_FAILED_CONFLICTING_PROVIDER (установка поставщика контента как отдельного apk)

У меня есть два приложения, которые используют один и тот же контент-провайдер, но я не могу разместить одного и того же поставщика контента в обоих приложениях - он показывает ошибку INSTALL_FAILED_CONFLICTING_PROVIDER. Поэтому я поставил своего поставщика контента в 3-й .apk и использовал это из двух приложений, и он работает хорошо.

Теперь проблема: поставщик apk должен быть установлен до того, как любое из этих двух приложений может быть установлено на устройстве. В противном случае во время установки отображается сообщение об ошибке "Ошибка поставщика".

Итак, как я могу убедиться, что провайдер apk установлен до того, как установлен какой-либо другой apks?

Есть ли способ объединить провайдера контента apk с обеими другими apks отдельно, поэтому они будут установлены вместе в виде двух приложений и не будут отображаться ошибка INSTALL_FAILED_CONFLICTING_PROVIDER?

Мне нужно объединить провайдер контента apk с обоими приложениями, потому что пользователь не может устанавливать оба приложения или может устанавливать их как на одном устройстве.

4b9b3361

Ответ 1

Одно из решений, о котором я могу думать, - сделать контент-провайдера частью обоих приложений с помощью другого packageid внутри. И экспортировать его с помощью android: exported = true. Оба могут использовать один и тот же код.

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

Чтобы защитить поставщика котентов от всех остальных, вы можете определить собственное разрешение для его защиты, чтобы ваши приложения могли использовать его, или вы также можете поместить некоторую пользовательскую аутентификацию, например, какой-либо секретный ключ для доступа к поставщику контента. вы можете получить этот код аутентификации во всех методах поставщика контента.

Ответ 2

Вы можете решить эту проблему, изменив значение android:authorities в файле AndroidManifest.xml. Причиной ошибки является то, что другое приложение, установленное на вашем устройстве, уже использует то же значение для android:authorities.

Ответ 3

Чтобы решить эту ошибку: Installation error: INSTALL_FAILED_CONFLICTING_PROVIDER

измените значение android:authorities в файле AndroidManifest.xml, другое приложение, установленное на вашем устройстве, уже использует то же значение для android: authority.

Ответ 4

В обоих файлах манифеста (AndroidManifest.xml) используются одни данные unic, такие как регистрационный номер API Facebook или что-то вроде этого в файле манифеста (AndroidManifest.xml): для которого уже установлены и для этого вы пытаетесь установить Cant. Вам нужно:

  • Попробуйте найти что-то вроде этого и проверьте это для вашего текущего Программа:

android: authority = "com.facebook.app.FacebookContentProvider23473465463573466" android: name= "com.facebook.FacebookContentProvider" android: exported = "true" /" >

  1. Проверьте, не дублируется ли в других программах, если это которую вы пытаетесь установить.

Ответ 5

Это означает, что у вашего телефона уже есть провайдер с теми же полномочиями, который зарегистрирован в разных приложениях (может быть, ваш другой пример).Измените полномочия вашего провайдера, т.е. android:authorities, и вам хорошо идти.