如何从android中的另一个项目的活动调用一个项目的活动?反之亦然?

如何从android中的另一个项目的活动调用一个项目的活动?反之亦然?,android,Android,我正在做一个集成项目,包括将两个项目集成到一个项目中。我想做的是,我有一个共同的项目,这个共同项目的活动应该能够调用其他两个项目的活动,根据不同的事件,如特定的按钮按下等。我如何做到这一点?通过意图是否可能 另外,其他两个项目的活动应该能够相互调用。如何做到这一点?这篇Android开发者博客文章解释了如何使自定义应用程序意图可用于其他应用程序进行此类集成: 您必须使用意图过滤器,下面是示例代码 PackageManager packageManager = getPackageMana

我正在做一个集成项目,包括将两个项目集成到一个项目中。我想做的是,我有一个共同的项目,这个共同项目的活动应该能够调用其他两个项目的活动,根据不同的事件,如特定的按钮按下等。我如何做到这一点?通过意图是否可能


另外,其他两个项目的活动应该能够相互调用。如何做到这一点?

这篇Android开发者博客文章解释了如何使自定义应用程序意图可用于其他应用程序进行此类集成:


您必须使用意图过滤器,下面是示例代码

    PackageManager packageManager = getPackageManager();

    Intent baseIntent = new Intent(ACTION_PICK_PLUGIN);
    baseIntent.addCategory("matching.catagory");

    List<ResolveInfo> activities = packageManager.queryIntentActivities(baseIntent, PackageManager.GET_RESOLVED_FILTER);

我希望它能有所帮助。

如果您想从现有项目调用项目的MainActivity,反之亦然,您可以使用PackageManager类

        Intent i;
        PackageManager manager = getPackageManager();
        try {
            i = manager.getLaunchIntentForPackage("Target package");
            if (i == null)
                throw new PackageManager.NameNotFoundException();
            i.addCategory(Intent.ACTION_VIEW );
            startActivity(i);
        } catch (PackageManager.NameNotFoundException e) {

        }
        Intent i;
        PackageManager manager = getPackageManager();
        try {
            i = manager.getLaunchIntentForPackage("Target package");
            if (i == null)
                throw new PackageManager.NameNotFoundException();
            i.addCategory(Intent.ACTION_VIEW );
            startActivity(i);
        } catch (PackageManager.NameNotFoundException e) {

        }