【问题标题】:Opening an Android application within another在另一个 Android 应用程序中打开
【发布时间】:2013-03-16 05:44:14
【问题描述】:

我正在尝试通过单击按钮在另一个应用程序中打开另一个已安装的 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);
        }

    });

理想情况下,它应该作为同一屏幕的一部分打开,而不会排挤父(调用)应用程序。我该怎么做?

【问题讨论】:

  • 显然老兄这个过程是基于多屏支持,因为像 S3 和 Grand 这样的新设备已经实现了在单屏上启动多个应用程序
  • 你的要求有没有成功,我坚持了。

标签: android android-intent android-activity


【解决方案1】:

据我所知,这是不可能的。您只能启动新活动,但您无法控制它。

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

【讨论】:

    【解决方案2】:

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

    传统的第三方应用程序 UI 无法做到这一点。

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

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

    所以我没有理解您所说的“当前版本的操作系统不可能”的意思

    截至 2013 年 3 月 26 日东部时间上午 9:50 发布的任何 Android 库存版本均不提供此功能。

    某些设备制造商(例如三星)已通过多窗口功能扩展了 Android。但是,对这些窗口的控制权在于用户和(修改后的)操作系统。除非他们的 S-Pen SDK 中有此功能,否则您无法启动另一个窗口。

    Android 还有RemoteViews,这是一种在进程之间传递简化 UI 的方法。使用这个,一个应用程序可以嵌入另一个应用程序发布的RemoteViews。例如,您可以通过主屏幕上的应用小部件看到这一点。但是,在编写这两个应用程序时都必须考虑到这一点,例如发布AppWidgetProvider 以向主屏幕提供应用程序小部件的应用程序。

    【讨论】:

    【解决方案3】:

    当您启动 Intent 以执行另一个应用程序(即,因为您正在实现启动器或主菜单替换)时,您实际上是在要求 android 执行使用特定包标识的应用程序(或满足某些特定约束的应用程序,例如处理图像、视频等的能力),没有关于它包含的活动的任何线索或参考(也没有能力得到任何......)。

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

    【讨论】:

    • AFAIK,从 Android 3.0 开始支持分屏功能 (Adaptive UI)。因此,我没有理解您所说的“当前版本的操作系统不可能”的意思。介意澄清一下吗?
    • 自适应 UI(Android 3.0 确实支持,但已通过支持库向后移植)允许您创建应用程序,其中轻量级和通用的“类 Activity”类(称为“片段”)可以在屏幕上以不同的几何形状放置(例如并排,用于分屏,但取决于您放置它们的数量和位置);它不允许并排打开不同的应用程序。顺便检查一下:developer.android.com/guide/components/fragments.html(这不是你想做的,但你仍然会喜欢它:))
    猜你喜欢
    • 2017-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多