update studio proveedor definicion content contenido cache android android-contentprovider apk

android - studio - proveedor de contenido video



Proveedor de contenido INSTALL_FAILED_CONFLICTING_PROVIDER(instalar el proveedor de contenido como una aplicaciĆ³n independiente) (5)

Tengo dos aplicaciones que usan el mismo proveedor de contenido, pero no puedo poner el mismo proveedor de contenido en ambas aplicaciones: muestra el error INSTALL_FAILED_CONFLICTING_PROVIDER. Así que puse mi proveedor de contenido en una 3ra .apk y lo utilicé de dos aplicaciones y está funcionando bien.

Ahora el problema es que la aplicación del proveedor de contenido debe estar instalada antes de que cualquiera de esas dos aplicaciones pueda instalarse en el dispositivo. De lo contrario, muestra el error Provider no encontrado durante la instalación.

Entonces, ¿cómo puedo asegurarme de que la aplicación del proveedor esté instalada antes de que se instale cualquiera de los demás?

¿Hay alguna manera de fusionar el apk del proveedor de contenido con los otros dos por separado, por lo que se instalarán juntos como dos aplicaciones y no mostrará el error INSTALL_FAILED_CONFLICTING_PROVIDER?

Necesito fusionar el apk del proveedor de contenido con ambas aplicaciones, porque el usuario no puede instalar ambas aplicaciones o puede instalarlas en un solo dispositivo.


Para resolver este error: Installation error: INSTALL_FAILED_CONFLICTING_PROVIDER

cambie el valor de android:authorities en su archivo AndroidManifest.xml otra aplicación instalada en su dispositivo ya usa ese mismo valor para android: autoridades.


Significa que su teléfono ya tiene un proveedor con las mismas autoridades, registrado por una aplicación diferente (podría ser su otro ejemplo). Cambie las autoridades de su proveedor, es decir, android:authorities y usted están listos para ir.


Una solución en la que puedo pensar es, hacer que el proveedor de contenido sea parte de las aplicaciones con diferentes paquetes internos. Exportarlo usando android: exported = true. Aunque ambos podrían estar usando el mismo código.

Al inicio de la aplicación, comprueba si el otro proveedor de contenido existe en el dispositivo, si está allí, comienza a usarlo, de lo contrario recurrirá al proveedor de contenido local. cuando la otra aplicación se instala, puede hacer la misma comprobación.

Para proteger a su proveedor de cotent de todos los demás, puede definir un permiso personalizado para protegerlo, de modo que sus aplicaciones solo puedan usarlo o también puede poner alguna autenticación personalizada como alguna clave secreta para acceder al proveedor de contenido. puede tener este código de autenticación en todos los métodos de proveedor de contenido.


Usas datos únicos como el número de registro de la API de Facebook o algo similar en tu archivo de manifiesto (AndroidManifest.xml) para ambos programas: para el que ya está instalado y para el que intentas y no puedes instalar. Necesitas:

  1. Intenta encontrar algo como esto y comprueba si es tu programa actual:

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

  1. Compruebe si no está duplicado en otros programas si es para el programa que intenta instalar.

Puede resolverlo cambiando el valor de android:authorities en su archivo AndroidManifest.xml . El motivo del error es que otra aplicación instalada en su dispositivo ya usa ese mismo valor para android:authorities .