2012-01-05 2 views
3

전화가 왔을 때 내 응용 프로그램에서 일부 작업 (게임 일시 중지)을 수행하려고합니다. 그러나 전화 상태를 읽는 것은 작동하지 않습니다. 매니페스트에서 권한 (READ_PHONE_STATE)을 부여했습니다. 전화가 왔을 때 아무 일도 일어나지 않습니다. 감사합니다. .전화 상태 읽기 문제

답변

3

당신이 쓴 다음 줄

public class PhoneStateReceiver extends BroadcastReceiver { 

private TelephonyManager manager; 

@Override 
public void onReceive(Context context, Intent intent) { 
    if (manager == null) { 
     manager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); 
    } 
    String action = intent.getAction(); 
    System.out.println(action); 
    System.out.println("current phone state:" + manager.getCallState()); 
} 

} :하는 broadcatst 수신기가 동작 android.intent.action.PHONE_STATE을 처리 만들

코드 예제 :

을 또한

, 당신이 시도 할 수 있습니다

telephonyManager.listen(listener,PhoneStateListener.LISTEN_CALL_STATE); 
+0

아니요 ... 브로드 캐스트 수신기가 필요합니까 ?? –

+0

다음을 따르십시오 : http://www.tutorialforandroid.com/2009/01/get-phone-state-when-someone-is-calling_22.html –

+0

고맙습니다 .. 작동 중입니다 ... 튜토리얼은 훌륭합니다 .. –

1

청취자가 생성되면, 'public void listen (PhoneStateListener listener, int events)'를 호출하여 청취해야합니다.