0

我想在我的应用程序中使用 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/

4

2 回答 2

1

试试这个代码或 关注更多细节

这对我有用。例如你的

包名 = com.abc.xyz

活动名称 = 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);
于 2012-11-05T08:44:18.203 回答
0

如果您的问题有答案,您确定嵌入浏览器吗?

这是非常非标准的,并且再次符合 Android 意图的理念。通常您使用意图打开外部浏览器:

向浏览器发送 Intent 以打开特定 URL

于 2012-11-05T07:03:09.597 回答