如何创建可以作为APK或从市场安装的Android应用程序插件/扩展?

Ana*_*AJI 13 android

我正在调查是否有可能满足以下要求的应用程序:

  • 主应用程序可能具有5个停用的功能
  • 如果您尝试使用已停用的功能,则应用程序会邀请您下载可以作为APK或从市场安装的扩展程序.
  • 安装功能后,它将被激活,然后可以使用它.

所以我们可以有一些免费/非免费的功能.我已经在某些应用程序中看到过这种行为,但我不记得这个名字了.

Android SDK中有什么东西可供使用吗?如何实施?

谢谢你的帮助.

rad*_*zio 6

您可以使用Service创建apk,并使用http://developer.android.com/guide/components/aidl.html连接到此服务。而且此服务可以做您想要的,所以只有您的想像力才是您的极限;-)

我建议阅读以下内容:http : //developer.android.com/guide/topics/manifest/manifest-element.html#uid,可以在2个或更多应用程序之间共享更多数据。但是,应该使用相同的密钥来标记它们。


Sid*_*ele 5

不确定这是不是你想要的,但是让我建议一些让你入门(可能)

例如,例如,在您的应用程序中,您有2个按钮(而不是5个)

BUTTON 1和BUTTON 2.

当您启动应用程序时,请检查是否安装了必要的应用程序(您自己的应用程序的第三方) PackageManager

这是我在我的应用中使用的伪代码,用于检查用户设备上是否安装了Google地图:

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;
}
Run Code Online (Sandbox Code Playgroud)

如果boolean installedMaps返回true,则启用该按钮.否则,提示用户使用Dialog从Google Play下载应用程序.

并为激活或取消激活所需的每个功能执行此操作.

注意:您需要知道其他应用程序的包名称.如果你不知道它,可以通过在你的设备上运行应用程序并检查logcat来找到它.

如果您还需要在所有相关应用程序之间共享内容,您也可以考虑使用 Content Providers

同样,我不完全确定这是否是您正在寻找的.如果我的假设错了,请更正.