Java Android应用程序扩展包

Java Android应用程序扩展包,java,android,eclipse,Java,Android,Eclipse,我将如何在市场上实施扩展包?比如,如果我希望用户能够购买更多图像,我将如何做到这一点,并让主应用程序识别和加载这些图像?你能给我指一些教程吗?我用谷歌搜索,但没有找到任何非常具体和初学者友好的东西。大多数是关于应用内计费的,但这不是我想要的 您可以使用查找扩展包。您识别扩展包的确切方式取决于您将如何使用它们 例如,如果您的扩展包在某种程度上是可运行的,即它们都有一个主活动,那么您可能会有一个自定义的意图操作,您可以使用PackageManager.queryIntentActivities()为

我将如何在市场上实施扩展包?比如,如果我希望用户能够购买更多图像,我将如何做到这一点,并让主应用程序识别和加载这些图像?你能给我指一些教程吗?我用谷歌搜索,但没有找到任何非常具体和初学者友好的东西。大多数是关于应用内计费的,但这不是我想要的

您可以使用查找扩展包。您识别扩展包的确切方式取决于您将如何使用它们

例如,如果您的扩展包在某种程度上是可运行的,即它们都有一个主活动,那么您可能会有一个自定义的意图操作,您可以使用
PackageManager.queryIntentActivities()
为您提供可以处理该操作的已安装活动的列表

如果这些扩展包只提供资源而不提供代码,那么您可以选择使用一个“虚拟”组件,您可以按照上面详述的意图来识别该组件,即使您从未打算运行它,也可以选择另一种方法。例如,如果除了您之外没有人将制作这些扩展包,您可以简单地通过包名来识别它们

PackageManager pm = getPackageManager();
List<PackageInfo> packages = pm.getInstalledPackages();
for(PackageInfo package : packages) {
    if(package.packageName.startWith("com.myapp.extension.") {
        // found an extension package!
        handleExtensionPackage(package);
    }
}

谷歌有一个完整的应用内购买API。看看吧,非常感谢+500!! 你太棒了!!这正是我想要的。但有一个问题,我该怎么做才能让它们不出现在应用程序抽屉中?只有带有ACTION_MAIN和CATEGORY_LAUNCHER的活动才会出现在应用程序抽屉中。
Context extensionContext = createPackageContext(package.packageName, 0);
Resources extensionResources = extensionContext.getResources();
int r_drawable_pic = extensionResources.getIdentifier("drawable/pic", null, package.packageName);
Drawable remotePic = extensionResources.getDrawable(r_drawable_pic);