안드로이드 이야기

안드로이드 - 전화 수신

mapagilove 2012. 9. 16. 10:32
728x90
반응형

안드로이드 - 전화 수신 

이렇게 하면 전화 벨 울릴 때 상대방 전화번호를 알 수 있습니다.

<receiver android:name=".CustomBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

package com.FakeCallActivity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.widget.Toast;
public class CustomBroadcastReceiver extends BroadcastReceiver {

 @Override
 public void onReceive(Context context, Intent intent) {
  TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
  tm.listen(new PhoneStateListener() {

   @Override
   public void onCallStateChanged(int state, String incomingNumber) {
    Log.i("ghi", "     phone call state changed");
    if (state == TelephonyManager.CALL_STATE_IDLE) {    
     
     Log.i("PhoneCallState", "STATE_IDLE : Incoming number "+incomingNumber);
     }
     else if (state == TelephonyManager.CALL_STATE_RINGING) {
     Log.i("PhoneCallState", "STATE_RINGING : Incoming number "+incomingNumber);
     }
     else if (state == TelephonyManager.CALL_STATE_OFFHOOK) {
     Log.i("PhoneCallState", "STATE_OFFHOOK : Incoming number "+incomingNumber);
     }

    super.onCallStateChanged(state, incomingNumber);
   }
   
  }, PhoneStateListener.LISTEN_CALL_STATE);
 }

}
728x90
반응형