编写可以使用插件的应用程序

Jon*_*nas 7 plugins android

我试图找到一种方法在应用程序中插入插件.

我的目标是拥有一个Core应用程序,并提供可在市场上下载的插件.(它可以是任何东西,天气,广播播放器等......)

插件不会相互交互,因此核心应用程序更像是多个应用程序的目录,其中包含插件使用的SDK.

Android文档中有Tic Tac Toe示例,但需要主应用程序声明外部lib.我的愿望是核心应用程序检测到新安装的插件并显示它们.

我发现了另一个问题,但没有答案.

有没有办法做到这一点?

编辑:还有一些应用程序可以通过购买市场上的另一个应用程序来解锁.他们是如何工作的?我找不到任何有趣的东西.谷歌"android解锁":)你知道你发现了什么

ste*_*eve 5

这更简洁一些,因此您不必使用 try catch 块。此外,这避免了有人创建具有相同名称的应用程序并在他们的手机上手动安装它。

public boolean checkIfAllowed()
{
    PackageManager pm = getPackageManager();
    int match = pm.checkSignatures("your.first.package", "your.second.package");
    if (match == PackageManager.SIGNATURE_MATCH)
    {
        Log.d("ALLOWED?", "signatures match");
        return true;
    }
    else
    {
        Log.d("ALLOWED?", "signatures don't match");
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)


Foa*_*Guy 3

您可以使用 PackageManager 来查找其他应用程序。如果您知道所有“插件”的包名称,那么您可以通过这种方式检查每个插件。

      PackageManager pm = getPackageManager();
                    try {
                        ApplicationInfo appInfo = pm.getApplicationInfo("com.package.name.your.looking.for", 0);
                        //if we get to here then the app was found, do whatever you need to do.
                    } catch (NameNotFoundException e) {
                        //app was not found
                    }
Run Code Online (Sandbox Code Playgroud)