2014-12-06 5 views
1

내 애플리케이션이 Android Dialer 앱을 제대로 시작했는지 테스트하려고합니다.Android에서 기본 활동이 시작되었는지 확인합니다.

는 내가 단위 테스트 및 계측에 대해 발견 한 내용을 바탕으로,이 테스트를 만들었습니다

public void testPerformOperation() throws Exception { 
    Instrumentation.ActivityMonitor monitor = getInstrumentation().addMonitor("com.android.phone.Dialer", null, true); 
    operationPerformer.performOperation("tel:111222333"); 
    Activity activity = monitor.waitForActivityWithTimeout(5000); 
    assertNotNull(activity); 
} 

을하지만 항상 AssertionFailedError을 반환합니다.

나는 또한 addMonitor()에서 IntentFilter.create(Intent.ACTION_DIAL, "vnd.android.cursor.dir/calls")까지의 첫 번째 매개 변수를 설정하려고 시도했으나 동일한 오류가 발생했습니다. 또한 나는 다른 MimeTypes를 사용하기 위해 검색했지만 아무 것도 찾지 못했습니다 (다이얼러가 MimeType을 사용하지 않는 것처럼 보입니다).

전화 걸기가 시작되었는지 어떻게 확인해야합니까?

답변

0

검사 활동이

ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); 
     for (RunningServiceInfo act: manager 
       .getRunningServices(Integer.MAX_VALUE)) { 
      if (MyActivity.class.getName().equals(
        act.service.getClassName())) { 

       //do 
       return true; 
      } 
     } 
+0

확인을 실행,하지만 난이없는 또는 기본 전화 걸기 앱에 대한 적절한 활동 이름을 찾을 수없는 경우. – Seraphis