我实际上正在调查是否有可能满足以下要求的应用程序:
所以我们可以有一些免费/非免费的功能。我在某些应用程序中已经看到过这种行为,但我不记得这个名字。
Android SDK中是否有东西可供使用?如何实施?
感谢您的帮助。
答案 0 :(得分: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;
}
如果boolean installedMaps
返回 true ,请启用该按钮。否则,提示用户使用Dialog从Google Play下载应用程序。
为激活或取消激活所需的每个功能执行此操作。
注意:您需要知道其他应用程序的包名称。如果您不了解它,可以通过在您的设备上运行应用程序并检查logcat来找到它。
如果您还需要在所有相关应用程序之间共享内容,您也可以考虑使用Content Providers
同样,我不完全确定这是否是您正在寻找的。如果我的假设错了,请更正。
答案 1 :(得分:4)
您可以使用服务创建apks并使用http://developer.android.com/guide/components/aidl.html连接到此服务。而且这项服务可以做你想要的,所以只有你的想象力才是你的极限;-)
我建议您阅读以下内容:http://developer.android.com/guide/topics/manifest/manifest-element.html#uid可以在2个或更多应用之间共享更多数据。但他们应该用相同的钥匙唱出来。
答案 2 :(得分:3)
您必须构建6个不同的应用程序/ apks并将其提交到Play商店。并且至少有两个选项可以将应用集成在一起:
您还可以使用Resources res = mPackageManager.getResourcesForApplication(“org.example.foo”)从其他apk访问资源; 有关详细信息,请参阅Is it possible to access resources in another APK without using content providers?。
答案 3 :(得分:1)
首先 - “附加功能”究竟是什么意思。问题非常复杂。
PackageManager
并尝试找到所需的包,如果没有请求用户进行安装即可使用它。PackageManager
推出免费/付费功能的更好方法只是使用应用内付款。