Comment puis-je créer des plugins / extensions d'applications Android qui peuvent être installés sous forme d'APK ou de marché?

Je suis en train d'enquêter sur la possibilité d'avoir une application qui répond aux exigences suivantes:

  • L'application principale peut avoir 5 fonctionnalités désactivées
  • Si vous essayez d'utiliser une fonctionnalité désactivée, l'application vous invite à télécharger une extension qui peut être installée en tant qu'APK ou sur le marché.
  • Une fois la fonctionnalité installée, elle est activée et peut être utilisée.

Nous pouvons donc disposer de fonctionnalités gratuites / non gratuites. J'ai déjà vu un tel comportement dans certaines applications mais je ne me souviens pas du nom.

  • Existe-t-il un point d'activité avec un fragment?
  • Erreur: android.app.SuperNotCalledException
  • Comment supprimer un élément sélectionné de ListView en utilisant CursorAdapter
  • Ajouter un dégradé à imageview
  • Comment inclure un projet Java dans un projet Android?
  • Téléchargez les composants Android SDK pour l'installation hors ligne
  • Y a-t-il quelque chose dans le SDK Android à utiliser? Comment cela peut-il être mis en œuvre?

    Merci de votre aide.

    4 Solutions collect form web for “Comment puis-je créer des plugins / extensions d'applications Android qui peuvent être installés sous forme d'APK ou de marché?”

    Je ne sais pas si c'est ce que vous cherchez, mais permettez-moi de proposer quelque chose pour vous aider à démarrer ( probablement )

    Par souci d'exemple, par exemple, dans votre application, par exemple, vous disposez de 2 boutons (au lieu de 5)

    Bouton 1 et Bouton 2.

    Lorsque vous démarrez votre application, vérifiez si les applications nécessaires (tierce partie à votre propre application) sont installées ou ne pas utiliser le PackageManager

    Il s'agit d'un pseudo code que j'utilise dans mon application pour vérifier si Google Maps est installé ou non sur le périphérique utilisateur:

     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 le boolean installedMaps retourne true , activez le bouton. Sinon, demandez à l'utilisateur avec une boîte de dialogue de télécharger l'application sur Google Play.

    Et faites ceci pour chaque fonction que vous devez activer ou désactiver.

    REMARQUE: vous devrez connaître le nom du paquet de l'autre application pour cela. Si vous ne le savez pas, cela peut être trouvé en exécutant l'application sur votre appareil et en vérifiant le logcat.

    Si vous devez également partager le contenu entre toutes les applications concernées, vous pouvez également envisager de faire appel aux Content Providers de Content Providers

    Encore une fois, je ne suis pas tout à fait sûr de savoir si c'est ce que vous recherchez. Veuillez corriger si je me trompe dans mon hypothèse.

    Vous pouvez créer des applications avec Service et utiliser http://developer.android.com/guide/components/aidl.html pour vous connecter à ce service. Et ce service peut faire ce que vous voulez, donc seule votre imagination est votre limite 😉

    Je recommande de lire à ce sujet: http://developer.android.com/guide/topics/manifest/manifest-element.html#uid, il est possible de partager plus de données entre 2 et plus d'applications. Mais ils devraient être cernés avec la même clé.

    Vous devez créer 6 applications / applications différentes et les soumettre à Play Store. Et il existe au moins 2 options pour intégrer les applications ensemble:

    1. Si vos fonctionnalités fonctionnent en plein écran, vous pouvez simplement lancer des activités appropriées à partir d'applications de plugin.
    2. Si l'écran principal (l'un de l'application principale) devrait inclure le code (fonctionnalité), les ressources des applications de plugin (mises en page, images, etc.), regardez http://developer.android.com/guide/topics/manifest/manifest-element .html # uid . En utilisant cette configuration, vous pouvez accéder au code de l'application de plugin avec la réflexion par nom de classe.

    Vous pouvez également accéder aux ressources d'un autre apk en utilisant Ressources res = mPackageManager.getResourcesForApplication ("org.example.foo"); Se référer à est-il possible d'accéder aux ressources dans un autre APK sans utiliser de fournisseurs de contenu? pour plus de détails.

    Tout d'abord – ce que vous entendez par "fonctionnalités supplémentaires". Le problème est assez complexe.

    1. Vérifiez l'existence de l'application existante – utilisez simplement PackageManager et essayez de trouver le paquet désiré s'il est trouvé, utilisez-le si vous ne demandez pas à l'utilisateur de l'installer.
    2. Accès aux ressources (images, mises en page, etc.) – également avec PackageManager
    3. Utilisez certaines portions de code – de nombreuses façons différentes d'obtenir l'effet. Intents (startActivityForResult ()), fournisseurs de contenu.

    Probablement une meilleure approche pour introduire des fonctionnalités gratuites / payées est simplement utiliser le paiement dans l'application.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.