티스토리 뷰

Manifest에 Activity 밑에

        




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



를 추가해준다.

그리고 클래스 2개 생성
ServiceReceiver , PhoneStateRead )



public class ServiceReceiver extends BroadcastReceiver {
	private String TAG = "CallCatcher";

	@Override
	public void onReceive(Context context, Intent intent) {

		PhoneStateRead phoneListener = new PhoneStateRead();
		TelephonyManager telephony = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);

		telephony.listen(phoneListener, PhoneStateListener.LISTEN_SERVICE_STATE);
		telephony.listen(phoneListener, PhoneStateListener.LISTEN_CALL_STATE);



	}

}





public class PhoneStateRead extends PhoneStateListener {

	String TAG = "PHONE STATE READ";

	@Override
	public void onCallStateChanged(int state, String incomingNumber) {
		switch (state) {
		case TelephonyManager.CALL_STATE_IDLE:
			
			Log.i(TAG, "MyPhoneStateListener->onCallStateChanged() -> CALL_STATE_IDLE " + incomingNumber);
			break;
		case TelephonyManager.CALL_STATE_OFFHOOK:
			Log.i(TAG, "MyPhoneStateListener->onCallStateChanged() -> CALL_STATE_OFFHOOK " + incomingNumber);
			break;
		case TelephonyManager.CALL_STATE_RINGING:
			Log.i(TAG, "MyPhoneStateListener->onCallStateChanged() -> CALL_STATE_RINGING " + incomingNumber);
			break;
		default:
			Log.i(TAG, "MyPhoneStateListener->onCallStateChanged() -> default -> " + Integer.toString(state));
			break;
		}
	}
}



댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함