2011-07-18 82 views
0

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

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

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

最简单的方法来做你想做的事情就是简单地创建一个包含两个应用程序的新项目。由于应用程序通常由初始条目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关注。如果你想保持它们完全分离,你需要使用意图过滤器并隐式调用其他应用程序。你可以从这个链接开始。

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

+0

谢谢,我会试试这个。 – BinRoot

+0

请参阅我的新编辑。你的应用程序将不再是独立的,将被视为一个。如果这不是问题,那么我之前说过的将会起作用。如果这是一个问题,那么意图过滤器和隐式活动调用是您唯一的解决方案。编辑:好的,你正试图将它们结合起来。是的,让他们在一个项目中工作。 – DeeV

相关问题