2011-04-13 4 views
3

우리는 발신자 ID 응용 프로그램을 개발하고 지금까지 우리가Android의 발신자 번호 - 수신 거부/지연 기본 수신 전화 화면? <br> 을 다음과 같이

그러나 CALL_STATE_RINGING와 http://developer.android.com/reference/android/telephony/TelephonyManager.html 다음 우리 자신의 레이아웃/발신자 ID 화면이 기본 수신 전화 화면을 대체 할 수있는, 우리가 직면하고있는 문제는) 전화가 걸려 오면 기본 수신 전화 화면이 우선 순위로 표시되어 즉시 표시됩니다.
b) 1-2 초 후에 발신자 번호 화면이 나타납니다. 우리는 기본 수신 전화 화면을 완전히 피하거나 지연시키지 않으므로 사용자 경험이 향상 될 수 있습니다.

+0

어떻게 했습니까? 아래 코드를 사용했지만 기본 발신자 화면을 볼 수 있습니다. – MSaudi

답변

5

기본 화면을 완전히 표시하지 않는 방법을 찾지 못했습니다. 그러나 startActivity보다 작은 지연 (500ms)이 나에게 도움이됩니다. 또한 사용자 정의 활동을 시작하기 위해 다음과 같은 플래그를 내 Intent에 넣습니다. 내 코드는 다음과 같습니다.

if (TelephonyManager.EXTRA_STATE_RINGING.equals(state)) 
     { 
      SystemClock.sleep(500 * 1); 
      Log.d("MPR", "Its Ringing [" + number + "]"); 
      Intent startMain = new Intent(); 
      startMain.setClassName("com.foo.TIC", "com.foo.TIC.TestInComing"); 
      startMain.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_NO_USER_ACTION); 
      startMain.putExtra("PNO", number); 
      context.startActivity(startMain); 
     } 
+2

그것은 나를 위해 대단한 작품 ... – Manjunath

0

브로드 캐스트 수신자를 사용하는 경우 자체 대화 상자와 화면을 사용할 수 있습니다.

관련 문제