Android - ActivityMonitor getHits()始终返回零

时间:2014-03-29 22:05:56

标签: android instrumentation activity-monitor

以下是测试代码:

    Instrumentation inst = getInstrumentation();
    IntentFilter intentFilter = new IntentFilter(Intent.ACTION_VIEW);
    intentFilter.addDataScheme("http://");
    intentFilter.addCategory(Intent.CATEGORY_BROWSABLE);
    ActivityMonitor monitor = inst.addMonitor(intentFilter, null, false);
    assertEquals(0, monitor.getHits());

    homeViewController.onItemClick(null, null, 5, 0);
    monitor.waitForActivityWithTimeout(5000);
    assertEquals(1, monitor.getHits());
    inst.removeMonitor(monitor);

这是经过测试的代码:

    Intent sendIntent = new Intent();
    sendIntent.setAction(Intent.ACTION_VIEW);
    sendIntent.addCategory(Intent.CATEGORY_BROWSABLE);
    sendIntent.setData(Uri.parse(getString(R.string.my_website)));
    startActivity(sendIntent);

getHits()始终返回零。我没有使用任何第三个库。

1 个答案:

答案 0 :(得分:1)

这个问题已经存在了一段时间,但是想提供一个对我有用的解决方案。

intentFilter.addDataScheme(“http://”)是错误的,应该更改为intentFilter.addDataScheme(“http”),你应该很好。