¿Cómo puedo crear complementos / extensiones de aplicaciones de Android que se pueden instalar como APK o desde el mercado?

En realidad estoy investigando la posibilidad de tener una aplicación que cumpla los siguientes requisitos:

  • La aplicación principal puede tener 5 funcionalidades desactivadas
  • Si intenta utilizar una funcionalidad desactivada, la aplicación le invita a descargar una extensión que se puede instalar como APK o desde el mercado.
  • Una vez que la funcionalidad se instala, se activa y luego se puede utilizar.

Así que podemos tener algunas funcionalidades libres / no gratuitas. Ya he visto tal comportamiento en algunas aplicaciones, pero no recuerdo el nombre.

¿Hay algo en el SDK de Android que se va a utilizar? Cómo se puede implementar?

Gracias por tu ayuda.

No estoy seguro de si esto es lo que buscas, pero déjame sugerir algo para empezar ( probablemente )

Por ejemplo, por ejemplo, en su aplicación, por ejemplo, tiene 2 botones (en lugar de 5)

BOTÓN 1 y BOTÓN 2.

Al iniciar su aplicación, compruebe si las aplicaciones necesarias (de terceros en su propia aplicación) están instaladas o no están utilizando PackageManager

Este es un pseudo código que utilizo en mi aplicación para comprobar si Google Maps está instalado o no en el dispositivo de los usuarios:

 boolean installedMaps = false; // CHECK IF AN APPLICATION IS INSTALLED PackageManager pkManager = getPackageManager(); try { PackageInfo pkInfo = pkManager.getPackageInfo("com.google.android.apps.maps", 0); // REPLACE THIS "com.google.android.apps.maps" WITH THE ACTUAL PACAKAGE NAME // Log.e("pkInfo", pkInfo.toString()); installedMaps = true; } catch (NameNotFoundException e) { e.printStackTrace(); installedMaps = false; } 

Si el boolean installedMaps devuelve true , habilite el botón. De lo contrario, solicite al usuario que utilice un cuadro de diálogo para descargar la aplicación de Google Play.

Y haga esto para cada función que necesita activar o desactivar.

NOTA: Necesitará conocer el nombre del paquete de la otra aplicación para ello. Si no lo sabe, se puede encontrar ejecutando la aplicación en su dispositivo y comprobando el logcat.

Si también necesita compartir contenido entre todas las aplicaciones en cuestión, también podría considerar hacer uso de Content Providers de Content Providers

Una vez más, no estoy completamente seguro si esto es lo que usted está buscando. Por favor corrija si estoy equivocado en mi suposición.

Puede crear apks con Service y utilizar http://developer.android.com/guide/components/aidl.html para conectarse a este servicio. Y este servicio puede hacer lo que quieras así que sólo tu imaginación es tu límite 😉

Recomiendo leer sobre esto: http://developer.android.com/guide/topics/manifest/manifest-element.html#uid es posible compartir más datos entre 2 y más aplicaciones. Pero deben ser cantadas con la misma llave.

Tienes que crear 6 aplicaciones / apks diferentes y enviarlos a Play Store. Y hay al menos 2 opciones para integrar aplicaciones juntas:

  1. Si su funcionalidad toma la pantalla completa que usted puede apenas lanzar actividades apropiadas de apps del enchufe.
  2. Si la pantalla principal (la de la aplicación principal) debe incluir código (funcionalidad), recursos de las aplicaciones de complemento (diseños, imágenes, etc) que ver en http://developer.android.com/guide/topics/manifest/manifest-element .html # uid . Utilizando esa configuración, puede acceder al código desde la aplicación de complemento con la reflexión por nombre de clase.

También puede acceder a recursos de otro apk utilizando Recursos res = mPackageManager.getResourcesForApplication ("org.example.foo"); Consulte ¿Es posible acceder a recursos en otro APK sin utilizar proveedores de contenido? para más detalles.

En primer lugar – qué es exactamente lo que quieres decir con "funcionalidades adicionales". El problema es bastante complejo.

  1. Compruebe la existencia de la aplicación – sólo use PackageManager y trate de encontrar el paquete deseado si se encuentra utilizarlo si no preguntar al usuario para la instalación.
  2. Acceso a recursos (imágenes, diseños, etc.) – también con PackageManager
  3. Utilice algunas porciones de código – muchas formas diferentes para obtener el efecto. Intents (startActivityForResult ()), proveedores de contenido.

Probablemente un mejor enfoque para introducir funciones gratuitas / pagadas es el uso del pago en la aplicación.

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