Google グループ
の記事をもとに着信を知るためのプログラムを書いてみました。

以下をActivity内のonCreateなどに

        TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
        PhoneStateListener psListener = new PhoneStateListener() {
	        public void onCallStateChanged(int state, String number) {
	        	switch(state) {
	        	case TelephonyManager.CALL_STATE_RINGING://鳴っている状態
		        	Log.d("--ACL--","Calling!!");
		        	break;
	        	case TelephonyManager.CALL_STATE_OFFHOOK://電話に出た
		        	Log.d("--ACL--","Talking");
		        	break;
	        	case TelephonyManager.CALL_STATE_IDLE://終了
		        	Log.d("--ACL--","End-talking");
		        	break;
	        	}
	        }
        };
        tm.listen(psListener, PhoneStateListener.LISTEN_CALL_STATE);

以下をマニュフェストに

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

分かれば簡単。