【问题标题】:Android: Push features into applicationAndroid:将功能推送到应用程序中
【发布时间】:2013-12-27 13:53:24
【问题描述】:

我正在开发一个 Android 应用程序,我希望人们购买许可证,并且基于该许可证,我需要将插件推送到我的应用程序。

例如如果许可证映射到 3 个插件(或高级功能),我只想在运行时将这 3 个推送到应用程序。由于不可能像这样 AFAIK 那样更改 APK,而且我不想在单个 APK 中包含所有功能。

如何在不维护多个 apk 的情况下维护应用的多个版本,例如高级应用和免费应用?

最好的问候

【问题讨论】:

  • Android InApp Billing 对您来说不可行吗?
  • 不,我不想通过应用程序付款。我们有一个门户网站,公司在其中购买插件,然后我们将它们分发给所有员工。应用内计费只会帮助我简化计费流程,对吗?而不是帮我写一个基于插件的架构。我可能错过了一些巨大的东西。

标签: android plugins apk


【解决方案1】:

插件不过是没有启动器活动 AFAIK 的 APK。以 Facebook 为例。应用程序如何知道您是否安装了他们的 Pages ManagerMessenger?我只能想到一种实现这种所谓的基于插件的架构的方法,即创建多个 APK,每个插件一个,充当独立的应用程序。并在运行时使用 Main APK 检查包是否存在。

public boolean isPackageExisted(String targetPackage){
    List<ApplicationInfo> packages;
    PackageManager pm;
        pm = getPackageManager();        
        packages = pm.getInstalledApplications(0);
        for (ApplicationInfo packageInfo : packages) {
    if(packageInfo.packageName.equals(targetPackage)) return true;
    }        
    return false;
}

如果未下载并安装符合您条件的包。

How do I make sure that only my "master" apk is able to call the functions in the plugin apk?

您可以通过将其添加到您的清单文件中来做到这一点 android:protectionLevel="signature"

您可以在here阅读更多内容。

希望这会有所帮助.. :)

【讨论】:

  • 如何确保只有我的“主”apk 能够调用插件 apk 中的函数?
  • 谢谢 Ankit Popli,你是一个很好的人。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-30
  • 1970-01-01
  • 2015-01-25
  • 2015-08-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多