如何捕获浏览器活动?

时间:2011-12-23 13:44:22

标签: android

我有一个应用程序,它是下一个启动浏览器:

 Uri uri = Uri.parse(getURL());
    Context context = widget.getContext();
    Intent intent = new Intent(Intent.ACTION_VIEW, uri);
    intent.putExtra(Browser.EXTRA_APPLICATION_ID, context.getPackageName());
    context.startActivity(intent);

我有另一个AndroidJUnit项目,我希望在其中捕获该活动。

接下来的步骤我可以捕获运行浏览器的MYProjectActivity,但我无法捕获浏览器。

 Instrumentation instrumentation = getInstrumentation();

  // Register we are interested in the authentication activiry...
  Instrumentation.ActivityMonitor monitor = instrumentation.addMonitor(MYProjectActivity.class.getName(), null, false);

  // Start the authentication activity as the first activity...
  Intent intent = new Intent(Intent.ACTION_MAIN);
  intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  intent.setClassName(instrumentation.getTargetContext(), MYProjectActivity.class.getName());
  instrumentation.startActivitySync(intent);

  // Wait for it to start...
  Activity currentActivity = getInstrumentation().waitForMonitorWithTimeout(monitor, 5);

有人知道怎么做吗?

1 个答案:

答案 0 :(得分:0)

我不确定如何按照您的要求监控浏览器,但提供了另一种想法:

您需要权衡使用浏览器的原因,但您是否考虑使用WebView?它允许您进行更多控制,因为您可以将其放入Activity中并观察意图流量以及Sub-Class WebView,以获取更详细的回调信息(如果需要)。