장치의 기본 메일 클라이언트를 시작하는 활동에 대한 JUnit 테스트를 작성하고 있습니다. "보내기"활동이 시작되었는지 확인한 후 "보내기"버튼에 클릭 이벤트를 보냅니다.ActivityMonitor 인 텐트 필터 ACTION_SENDTO가 맞지 않습니다.
"보내기"활동에 대한 참조를 얻기 위해 인 텐트 필터가있는 ActivityMonitor를 설정했습니다. 테스트를 실행하는 동안 메일 보내기 활동이 표시되지만 불행히도 모니터가 절대로 안타깝다는 것을 알 수 있습니다. 여기
찾을 시도 단위 테스트 코드 활동 "보내기"// register activity monitor for the send mail activity
Instrumentation instrumentation = getInstrumentation();
IntentFilter filter = new IntentFilter(Intent.ACTION_SENDTO);
ActivityMonitor monitor = instrumentation.addMonitor(filter, null, false);
// click on the "Send Feedback" button (use Robotium here)
solo.clickOnButton(0);
// wait for the send mail activity to start
Activity currentActivity = instrumentation.waitForMonitorWithTimeout(monitor, 5000);
assertNotNull(currentActivity);
을 그리고 여기에 활동이 응용 프로그램에서 시작됩니다 "로 보내기"방법입니다
Uri uri = Uri.parse("mailto:[email protected]");
Intent i = new Intent(Intent.ACTION_SENDTO, uri);
i.putExtra(Intent.EXTRA_SUBJECT, "Message Title");
i.putExtra(Intent.EXTRA_TEXT, "Hello");
startActivity(i);
의도 필터가 잘못 설정 되었습니까? 또는 프로젝트에서 정의되지 않은 활동을 모니터링하는 것이 불가능합니까?
도움 주셔서 감사합니다.
나는 "진짜"활동이 시작되지 않았기 때문에 문제의 의도를 파악할 수 없다고 생각합니다. 사실 의도를 시작한 후 활동중인 활동의 목록이 비어 있습니다. 하지만이 문제를 해결할 수 있었습니까? – Shilaghae
불행히도 없습니다. 나는 결코 그 문제를 해결하지 못했다. – Georges