我对IntentFilter
的创建有疑问。我目前正在为Android应用程序编写JUnit-tests并希望使用ActivityMonitors
。更具体一点:我想创建一个ActivityMonitor
来监听对地址簿的调用,因为我们的应用程序要求用户从地址簿中选择一个联系人。所以我想通过使用ActivityMonitor
来嘲笑这个。这是我到目前为止所做的:
ActivityMonitor addressBookMonitor = null;
try {
addressBookMonitor = getInstrumentation().addMonitor(new IntentFilter(Intent.ACTION_PICK,"content://contacts/people/"), null, false);
} catch (MalformedMimeTypeException e) {
e.printStackTrace();
}
//code to open the address book
Activity addressBook = getInstrumentation().waitForMonitorWithTimeout(addressBookMonitor, 250);
assertNotNull(addressBook);
问题是,虽然我可以看到在我们的应用程序前打开地址簿,但断言总是失败。即使增加超时值也无济于事。这导致我假设我的ActivityMonitor
/ IntentFilter
设置错误。
也许有人可以提供帮助?