从我的应用运行另一个Android应用程序?

时间:2011-07-18 15:07:45

标签: android android-manifest android-intent

当我按下按钮时,我想运行另一个单独的应用程序,但我想以某种方式将这两个应用程序打包在一起,这样用户只需要下载一个应用程序。

我知道要开始这样的意图:

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setComponent(new ComponentName("com.A.myapp","com.A.myapp.MainActivity"));
startActivity(intent);

但是假设我已经单独下载了应用程序“com.A.myapp”。将“com.A.myapp”打包​​到现有应用程序的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

执行您尝试执行的操作的最简单方法是简单地创建包含两个应用程序的新项目。由于应用程序通常由初始条目Activity启动,因此只要它们具有相同的根名称,您就可以将它们保存在单独的包中。因此,app1将位于包com.A.myapp.myapp1中。第二个应用“myapp2”将在包com.A.myapp.myapp2中。

在项目清单文件的Package部分中,将“com.A.myapp”作为根目录。在整个项目的清单文件中注册所有活动。然后,app1可以通过以下呼叫调用app2中的活动:

    Intent createIntent = new Intent();
    createIntent.setClassName(this.getApplicationContext(), "com.A.myapp.myapp2.ActivityA");
    startActivity(createIntent);

注意:这将正式使这个整个应用程序与Android有关。如果要将它们完全分开,则需要使用intent过滤器并隐式调用其他应用程序。你可以从这个链接开始。

http://developer.android.com/guide/topics/intents/intents-filters.html