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


Acceso a un proveedor de contenido personalizado desde una aplicación diferente

Hola, he creado una aplicación para Android que utiliza un proveedor de contenido personalizado llamado CustomCP, implementa todos los métodos y todo funciona bien al administrar datos dentro de la aplicación, pero cuando intento acceder a ella desde otra aplicación sigo recibiendo un error de "Error al Busque información sobre el proveedor de com.example.customcp.

He declarado a mi proveedor de contenido en el archivo de manifiesto de la primera aplicación como

  • La importación android.support.v7.app.MediaRouteActionProvider no se puede resolver
  • ¿Cómo desactivar la caché del navegador de Android de forma permanente?
  • Enviar evento clave de retroceso para editar el texto
  • ¿Cuándo puedo primero medir una vista?
  • Ciclo de vida de la clase de aplicación mientras se ejecuta el servicio
  • Diferencia entre onResume () y onResumeFragments ()
  • <provider android:name="com.example.CustomCP" android:authorities="com.example.customcp"/> 

    Trato de llamar al proveedor en la segunda actividad de inicio de la aplicación

     public class app2 extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Uri kUri = Uri.parse("content://com.example.customcp/key"); Cursor c = managedQuery(kUri, null, null, null, null); } } 

    Así que la pregunta es simple, ¿es posible acceder a un proveedor de contenido personalizado desde múltiples aplicaciones?

  • Problema con la conexión Bluetooth de Android
  • ProGuard para Android y GSON
  • Cómo abrir el cajón de navegación sin barra de acción, abrir con sólo un botón
  • Desinstalar la aplicación silenciosamente con priveleges del sistema
  • Cómo limitar el buscador
  • ¿Cómo se usa InputType = númeroDécimal con el teclado virtual de "teléfono"?
  • 3 Solutions collect form web for “Acceso a un proveedor de contenido personalizado desde una aplicación diferente”

    Sí, es posible acceder a un proveedor de contenido personalizado desde otra aplicación. Usando su terminología llamaremos al proveedor de contenido CustomCP y la otra aplicación AppA. (AppA es el que quiere acceder al proveedor). Este enfoque ha demostrado su eficacia:

    1. Especifique el proveedor de contenido deseado (CustomCP) desde dentro de AppA utilizando un ContentProviderClient:

      Uri yourURI = Uri.parse("content://com.example.customcp/YourDatabase"); ContentProviderClient yourCR = getContentResolver().acquireContentProviderClient(yourURI);

    2. Acceda al proveedor de contenido como lo haría normalmente desde la aplicación A. Por ejemplo:

      yourCursor = yourCR.query(yourURI, null, null, null, null);

      Nota: debe incluir el código dentro de un bloque try / catch o incluir un "throws RemoteException" ya que el proveedor no está en App A.

    3. El Manifiesto de CustomCP debe especificar el proveedor, incluir los permisos permitidos (por ejemplo, leer y / o escribir) y el proveedor debe exportarse. He aquí un ejemplo:

       <provider android:name="your.package.contentprovider.YourProvider" android:authorities="YourAuthority" android:readPermission="android.permission.permRead" android:exported="true" > </provider> 

    En el archivo de manifiesto, asegúrese de que su

      "Proveedor android ..>" 

    Esta dentro de tu

      "Application .. / application>" 

    Espero que ayude

    Después de crear el proveedor de contenido, especifique el proveedor de contenido en el archivo de manifiesto. Puede mencionar proveedor de contenido que utiliza la etiqueta. Dentro de la etiqueta del proveedor no olvide mencionar el nombre y atributos de las autoridades. Esta declaración debe ser ..

     <provider android:name="pakgName.ProviderClassName" android:authorities="pakgName.ProviderClassName" android:multiprocess="true" > </provider> 

    Aquí lo que usted menciona en el atributo de las autoridades que debe coincidir cuando intenta obtener los datos del proveedor.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.