我实际上正在研究满足以下要求的应用程序的可能性:
- 主应用程序可能有 5 个停用的功能
- 如果您尝试使用已停用的功能,该应用程序会邀请您下载可以作为 APK 安装或从市场安装的扩展程序。
- 一旦安装了该功能,它就会被激活,然后就可以使用了。
所以我们可以有一些免费/非免费的功能。我已经在某些应用程序中看到过这种行为,但我不记得名字了。
Android SDK中有什么东西可以使用吗?如何实施?
谢谢你的帮助。
我实际上正在研究满足以下要求的应用程序的可能性:
所以我们可以有一些免费/非免费的功能。我已经在某些应用程序中看到过这种行为,但我不记得名字了。
Android SDK中有什么东西可以使用吗?如何实施?
谢谢你的帮助。
您可以使用 Service 创建 apk 并使用http://developer.android.com/guide/components/aidl.html连接到此服务。而且这项服务可以做你想做的事,所以只有你的想象力才是你的极限;-)
我建议阅读以下内容:http: //developer.android.com/guide/topics/manifest/manifest-element.html#uid可以在 2 个或更多应用程序之间共享更多数据。但是他们应该用相同的键来唱。
不确定这是否是您要找的东西,但让我建议一些让您入门的东西(可能)
举例来说,例如,在您的应用程序中,您有 2 个按钮(而不是 5 个)
按钮 1 和按钮 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;
}
如果boolean installedMaps
返回true,则启用按钮。否则,使用对话框提示用户从 Google Play 下载应用程序。
并为您需要激活或停用的每个功能执行此操作。
注意:您需要知道其他应用程序的包名称。如果您不知道,可以通过在您的设备上运行应用程序并检查 logcat 来找到它。
如果您还需要在所有相关应用程序之间共享内容,您也可以考虑使用Content Providers
同样,我不完全确定这是否是您正在寻找的。如果我的假设有误,请纠正。
您必须构建 6 个不同的应用程序/apk 并将它们提交到 Play 商店。至少有 2 个选项可以将应用程序集成在一起:
您还可以使用 Resources res = mPackageManager.getResourcesForApplication("org.example.foo"); 从另一个 apk 访问资源 请参阅是否可以在不使用内容提供程序的情况下访问另一个 APK 中的资源?更多细节。
首先-您所说的“附加功能”到底是什么意思。问题相当复杂。
PackageManager
并尝试找到所需的包,如果发现则使用它,如果不要求用户安装。PackageManager
引入免费/付费功能的更好方法可能是使用应用内支付。