1

这是测试代码:

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

4

1 回答 1

1

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

intentFilter.addDataScheme("http://") 错了,应该改成 intentFilter.addDataScheme("http") 就好了。

于 2015-10-14T21:58:14.700 回答