从另一个应用程序调用应用程序的主要活动

时间:2012-11-05 06:28:16

标签: android android-intent android-activity

我想在我的应用程序中使用zirco浏览器,因此我已经使用了代码并开始将其嵌入到我的应用程序中。所以在zirco中有这个MainActivity,这是应用的起点,即主要活动。 Zirco代码单独工作正常,但由于我必须从我的应用程序调用zirco的MainActivity,我已经更改了代码如下。

增加了额外的活动。 将此作为应用程序的主要活动。 从新创建的活动中调用Zirco代码的MainActivity。

新创建的活动具有以下代码

    public  void onCreate(Bundle savedInstanceState){

    super.onCreate(savedInstanceState);
    Intent intent = new Intent();
    intent.setComponent(new ComponentName("org.zirco", "org.zirco.ui.activities.MainActivity"));
    startActivity(intent);
}

所以预期的行为是浏览器应该正常运行,因为我刚刚创建了一个额外的活动,使其成为主要活动并从中调用原始的MainActivity。但是浏览器只是打开,然后在执行任何操作(搜索,点击链接)时重新启动应用程序。

如何纠正此问题。有没有其他方法可以调用应用程序的MainActivity并使其运行。

此处提供Zirco代码http://code.google.com/p/zirco-browser/

2 个答案:

答案 0 :(得分:1)

试试此代码或Follow for more Detail

这对我有用。 例如你的

  

packagename = com.abc.xyz

     

Activityname = MainActivity

而不是按照以下代码。

final Intent intent = new Intent(Intent.ACTION_MAIN, null);
intent.addCategory(Intent.CATEGORY_LAUNCHER);

final ComponentName cn = new ComponentName("com.abc.xyz", "com.abc.xyz.MainActivity");
intent.setComponent(cn);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity( intent);

答案 1 :(得分:0)

如果您的问题得到解答,您确定要嵌入浏览器吗?

这非常不标准,再次成为Android意图的哲学。通常您使用意图打开外部浏览器:

Sending an Intent to browser to open specific URL