在另一个应用程序中打开Android应用程序

在另一个应用程序中打开Android应用程序,android,android-intent,android-activity,Android,Android Intent,Android Activity,我试图打开一个不同的,已经安装在另一个android应用程序,点击一个按钮。新应用程序应在调用应用程序的屏幕部分打开 目前,我的代码创建了一个新的意图,并在其中运行被调用的应用程序。调用应用程序将消失。这是我的密码: b.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-ge

我试图打开一个不同的,已经安装在另一个android应用程序,点击一个按钮。新应用程序应在调用应用程序的屏幕部分打开

目前,我的代码创建了一个新的意图,并在其中运行被调用的应用程序。调用应用程序将消失。这是我的密码:

        b.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            PackageManager pm = getPackageManager();
            Intent intent = pm.getLaunchIntentForPackage("com.ritwik.camera");
            startActivity(intent);
        }

    });

理想情况下,它应该作为同一屏幕的一部分打开,而不会将父(调用)应用程序置于一旁。我该怎么做?据我所知,这是不可能的。您只能启动新活动,但无法控制它


编辑:有些设备使用或类似的框架提供了这种可能性,但我还没有看到开发人员可以在自己的应用程序中使用这种方法。

当您开始执行另一个应用程序时(即,因为您正在实现启动器或主菜单替换)实际上,您是在要求android执行由特定软件包(或满足某些特定约束条件的软件包,如处理图像、视频等的能力)标识的应用程序,而对其包含的活动没有任何线索或参考(也没有获取任何…)

因此,我认为当前版本的操作系统不可能实现您想要实现的目标(除非某些供应商提供扩展来实现这一点,请参阅Pratik的评论)

新应用程序应在调用应用程序的屏幕部分打开

这在传统的第三方应用程序UI中是不可能的


另外,从Android 3.0开始支持分屏功能(自适应UI)

这与将第三方应用程序的UI嵌入到您自己的应用程序中无关

所以我不明白你所说的“用当前版本的操作系统是不可能的”

在截至2013年3月26日东部时间上午9:50发布的任何Android股票版本上都不提供

某些设备制造商,如三星,已经将安卓系统扩展为多窗口功能。但是,这些窗口的控制权在于用户和(修改过的)操作系统。除非他们的S-Pen SDK中有相关内容,否则您无法启动另一个窗口


Android还有
RemoteView
,这是一种在进程之间传递简化UI的方法。使用此功能,一个应用程序可以嵌入另一个应用程序发布的
RemoteView
。例如,您可以通过主屏幕上的应用程序小部件看到这一点。然而,两款应用程序都必须牢记这一点,例如,一个应用程序发布一个
AppWidgetProvider
,向主屏幕提供应用程序小部件。

显然,dude这个过程是基于多屏幕支持的,因为像S3和Grand这样的新设备已经实现了在一个屏幕中启动多个应用程序的功能。您是否成功满足了这一要求,我也坚持了这一点,从Android 3.0开始支持分割屏幕功能()。所以我不明白你所说的“用当前版本的操作系统是不可能的”。请澄清一下,Adaptive UI(安卓3.0确实支持,但已通过支持库进行了后移植)允许您创建应用程序,在这些应用程序中,轻量级和多功能的“活动类”类(称为“片段”)可以以不同的几何图形放置在屏幕上(例如,并排,对于分割屏幕,但取决于您的数量和放置位置);它不允许并排打开不同的应用程序。顺便检查一下:(这不是做您想要的,但您仍然会喜欢它:))如果我想要嵌入的两个应用程序都是我的,是否可能?给我一个方向,如果你可以在这个链接-