2012-03-04 2 views
5

현재 통화를 가로 채고 사용자 지정된 "oncallscreen"활동으로 착신 전환 중입니다. 그러나 내 화면에 도달하기 전에 기본 "온 스크린"으로 깜박입니다. 이 화면을 어떻게 숨기거나 취소 할 수 있습니다. 전화를받을 때 사용자 정의 화면 만 표시됩니다.기본 수신 화면을 숨기거나 취소하는 방법

@Override 
public void onReceive(Context context, Intent intent) { 
    Bundle extras = intent.getExtras(); 
    if (extras != null) { 
     String state = extras.getString(TelephonyManager.EXTRA_STATE); 
     Log.w("DEBUG", state); 
     if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)) { 
      String phoneNumber = extras 
        .getString(TelephonyManager.EXTRA_INCOMING_NUMBER); 

답변

1

당신은 가장 높은 우선 순위 android.intent.action.PHONE_STATE 방송 가로 채기 위해 필요하고 경우에 BroadcastReceiver.onReceive() 기본 응용 프로그램이 제공되지 않습니다 때문에 당신은 표시 할 수는 수신 전화 화면을 기본 중지 할 수 BroadcastReceiver.abortBroadcast()을 통해 방송을 취소합니다 들어오는 호출 방송. 그 후에는 자신의 활동을 자유롭게 표시 할 수 있습니다.

+1

잘 작동하는지는 확실치 않지만 Android에서는 작동하지 않습니다. 4.1.2 - PHONE_STATE 방송이 순서가 지정되지 않아 순서가 잘못된 브로드 캐스트를 중단 할 수 없으므로 브로드 캐스트를 중단하려고 시도 할 때 오류가 발생합니다 . –

+0

수신 통화 브로드 캐스트를받는 가장 높은 우선 순위는 무엇입니까? – VickyS

관련 문제