2013-12-09 4 views
0

브로드 캐스트 수신기를 사용하여 발신 전화를 감지하고 다음 코드가 독립적 인 코드에서 올바르게 작동합니다.브로드 캐스트 수신기를 사용하여 발신 전화 감지

내 질문은 내가 어떻게 문자열 번호를 비교하고 다음 작업을 수행하고 싶어 이후 내 주요 활동 에서이 방법을 호출 할 수 있습니다. 제발 도와주세요! 감사합니다. .

import android.content.BroadcastReceiver; 
import android.content.Context; 
import android.content.Intent; 
import android.util.Log; 
import android.widget.Toast; 

public class OutgoingCallReceiver extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     String number = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER); 
     Log.d("DEBUG", "RINGING (outgoing call) with number: " + number); 
     Toast.makeText(context, "Outgoing call number: " + number, Toast.LENGTH_LONG).show();  
    } 
} 
+0

MainActivity 클래스에서이 클래스를 사용할 수 있습니다. –

+0

"내 주요 활동에서이 방법을 어떻게 호출 할 수 있습니까?" 그것의 방송 수신기. onReceive()는 누군가에게 전화 할 때만 실행됩니다. –

+0

@AbhishekShukla, 클래스를 호출 할 수 없다는 것을 읽었습니다. 메소드 만 호출합니다. 그러나 주요 활동의 값을 비교하려고합니다. 값이 일치하면 조치가 처리됩니다! 나는 초심자 인 것을 알고있다. 그러나 나는 나의 uni 프로젝트를 위해 이것을 필요로한다. – Kim

답변

0

추가 인 깃발로 전달하여 전체 인 텐트를 활동에 전달할 수 있습니다. 당신이 내 대답에 관련된 질문이있는 경우

import android.content.BroadcastReceiver; 
import android.content.Context; 
import android.content.Intent; 
import android.util.Log; 
import android.widget.Toast; 

public class OutgoingCallReceiver extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     String number = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER); 
     Log.d("DEBUG", "RINGING (outgoing call) with number: " + number); 
     Toast.makeText(context, "Outgoing call number: " + number, Toast.LENGTH_LONG).show(); 

     // You can go to another activity by the below code 
     Intent i = new Intent(context, OutgoingCallDisplay.class); 
     i.putExtras(intent); 
     i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     context.startActivity(i) 
    } 
} 

은, 저에게 연락하는 것을 망설이지 말라 : 만든 새 activty에 의도를 통과하여 편집 코드를 아래 찾을 수 있습니다. 행운을 빌어 요.

+0

답을 고맙다. ^^,하지만 당신은 내가 업데이트하는 것을 의미합니까? 내 현재의 OutgoingReceiver 클래스는 내 기본 설정에 의도를 전달합니다. 내 주류에 내 문자열 (번호)을 재사용하려면 어떻게해야합니까? @AndroidNabz – Kim

+0

참고로, 귀하는 의도적으로 변수를 전달할 수 있습니다. 다음과 같이 입력 할 수 있습니다. i.putExtra (OutgoingCallDisplay.NUMBER_VAR, number); 및 활동에서 다음을 사용하여 retrevie 수 있습니다 : 문자열 nymberRetreived = getIntent(). getStringExtra (OutgoingCallDisplay.NUMBER_VAR); – Nabz

관련 문제