Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Autoridad del proveedor de contenido de Android Facebook

Estoy desarrollando una aplicación con (al menos) dos sabores con nombres de paquetes diferentes – por lo tanto, en realidad dos aplicaciones diferentes en lo que respecta al sistema Android. La aplicación utiliza el uso compartido de Facebook, por lo que tengo el proveedor declarado en el manifiesto:

<provider android:authorities="com.facebook.app.FacebookContentProvider{app id here}" android:name="com.facebook.FacebookContentProvider" android:exported="true"/> 

Esto se hace de acuerdo con las instrucciones de Facebook: https://developers.facebook.com/docs/sharing/android

  • ¿Cómo puedo dar un efecto de clic de vista de imagen como un botón en Android?
  • Uso de Alarmmanager para iniciar un servicio en un momento específico
  • Las versiones resueltas para la aplicación (22.0.0) y la aplicación de prueba (21.0.3) difieren
  • Android cómo dibujar un mapa de bits sobre lienzo semi transparente
  • Adb transfiere archivos con una velocidad muy lenta
  • Controlar la visibilidad de la vista desde un recurso
  • Esto funciona bien con una aplicación, pero al intentar instalar la segunda aplicación en el mismo dispositivo falla con el error INSTALL_FAILED_CONFLICTING_PROVIDER. Este es el único proveedor definido en el manifiesto así que estoy bastante seguro de que es el problema. Si cambio la cadena del proveedor para que sea algo diferente, se bloquea al intentar abrir un cuadro de diálogo compartido de Facebook.

    He visto afirmaciones de que es posible utilizar la misma aplicación de Facebook en varias aplicaciones de Android, pero no se puede encontrar nada en la documentación de Facebook sobre el mismo. ¿Alguien ha hecho esto, y cómo usted consiguió alrededor del problema de la autoridad del abastecedor? Gracias.

  • Actionbar elemento de menú onclick?
  • Android Push Notification (GCM), ¿hay algún límite diario?
  • Cómo obtener respuesta del código USSD de Android?
  • ¿Cuál es el fragmento equivalente de Activity.isFinishing ()?
  • Atributos del mismo nombre en attrs.xml para vista personalizada
  • Verificación de facturación de Android en la aplicación
  • 3 Solutions collect form web for “Autoridad del proveedor de contenido de Android Facebook”

    Pude resolver esto por tener manifiestos separados para mis sabores de la depuración y de la liberación y en mi manifiesto del sabor de la depuración, agregué el fragmento para el abastecedor pero fijé el valor exportado a falso. En mi manifiesto de sabor de lanzamiento, tengo el fragmento del proveedor original con el conjunto exportado como true.

    Después de hacer esto, ya no tengo el error INSTALL_FAILED_CONFLICTING_PROVIDER.

     <provider android:authorities="com.facebook.app.FacebookContentProvider{app id here}" android:name="com.facebook.FacebookContentProvider" android:exported="false"/> 
     <provider android:authorities="com.facebook.app.FacebookContentProvider{app id here}" android:name="com.facebook.FacebookContentProvider" android:exported="false"/> 

    Exportado puede ser "verdadero"

    Una de las posibles soluciones que he encontrado es la descrita aquí

    http://gradlewhy.ghost.io/overcoming-install-failed-conflicting-provider/

    Ya estoy usando esto para (variantes de depuración / lanzamiento) android.support.v4.content.FileProvider y hasta ahora he probado también funciona para com.facebook.app.FacebookContentProvider.

    Sólo tienes que añadir en las aplicaciones build.gradle

      debug { applicationIdSuffix '.debug' versionNameSuffix '-DEBUG' resValue "string", "fb_provider_id", "com.facebook.app.FacebookContentProvider{app_id_1}" } release { minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' resValue "string", "fb_provider_id", "com.facebook.app.FacebookContentProvider{app_id_2}" } 

    Y luego en el AndroidManifest

     <provider android:authorities="@string/fb_provider_id" android:name="com.facebook.FacebookContentProvider" android:exported="true"/> 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.