앱에서 전화왔을때 체크하는법
조회수 2639회
1 답변
-
import android.app.Activity; import android.os.Bundle; import android.telephony.PhoneStateListener; import android.telephony.TelephonyManager; import android.widget.Toast; public class PhoneListenerTestActivity extends Activity { PhoneStateCheckListener phoneCheckListener; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); phoneCheckListener = new PhoneStateCheckListener(this); TelephonyManager telephonyManager = (TelephonyManager)getSystemService(TELEPHONY_SERVICE); telephonyManager.listen(phoneCheckListener, PhoneStateListener.LISTEN_CALL_STATE); } public class PhoneStateCheckListener extends PhoneStateListener { PhoneListenerTestActivity mainActivity; PhoneStateCheckListener(PhoneListenerTestActivity _main){ mainActivity = _main; } @Override public void onCallStateChanged(int state, String incomingNumber) { if (state == TelephonyManager.CALL_STATE_IDLE) { Toast.makeText(mainActivity,"STATE_IDLE : Incoming number " + incomingNumber,Toast.LENGTH_SHORT).show(); } else if (state == TelephonyManager.CALL_STATE_RINGING) { Toast.makeText(mainActivity,"STATE_RINGING : Incoming number " + incomingNumber,Toast.LENGTH_SHORT).show(); //수신 부분 입니다. } else if (state == TelephonyManager.CALL_STATE_OFFHOOK) { Toast.makeText(mainActivity,"STATE_OFFHOOK : Incoming number " + incomingNumber,Toast.LENGTH_SHORT).show(); } } } }
안드로이드 매니페스트파일에 가서
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
이걸 넣어주셔야됩니다.
댓글 입력