以下是测试代码:
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()始终返回零。我没有使用任何第三个库。
答案 0 :(得分:1)
这个问题已经存在了一段时间,但是想提供一个对我有用的解决方案。
intentFilter.addDataScheme(“http://”)是错误的,应该更改为intentFilter.addDataScheme(“http”),你应该很好。