这是测试代码:

    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()始终返回零。我没有使用任何第三个库。

最佳答案

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

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

关于android - Android-ActivityMonitor getHits()始终返回零,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22737516/

10-11 20:23