У меня есть вопрос относительно создания IntentFilter
. В настоящее время я пишу JUnit-тесты для приложения Android и хочу использовать 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
настроены с неправильными значениями.
Может быть, кто-то может помочь?