1

電話がいつかかっているかを知るためにアプリが必要です。

別の電話が呼び出されているとき、および呼び出しに応答したときにも機能するはずです。接続が開始したときと停止したとき(ダイヤルや呼び出し音などではない)に正確に通知を受け取るためにアプリが必要です。

これはどういうわけか可能ですか?

4

1 に答える 1

1

以下のように、ブロードキャストクラスを使用してこれを実現できます。

public class PhoneStateBroadcastReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {

    TelephonyManager telephonyManager = (TelephonyManager) context
            .getSystemService(Context.TELEPHONY_SERVICE);
    telephonyManager.listen(new CustomPhoneStateListener(context),
            PhoneStateListener.LISTEN_CALL_STATE);
    }
}

class CustomPhoneStateListener extends PhoneStateListener {

    // private static final String TAG = "PhoneStateChanged";
    Context context; // Context to make Toast if required

    public CustomPhoneStateListener(Context context) {
        super();
        this.context = context;
    }

    @Override
    public void onCallStateChanged(int state, String incomingNumber) {

        super.onCallStateChanged(state, incomingNumber);
        switch (state) {

        case TelephonyManager.CALL_STATE_IDLE:
            //WHEN PHONE WILL BE IDLE       
        break;

        case TelephonyManager.CALL_STATE_OFFHOOK:
            // when Off hook i.e in call
        break;

        case TelephonyManager.CALL_STATE_RINGING:
            // when Ringing
        break;

        default:
        break;
        }
    }
}

これがお役に立てば幸いです。

于 2012-09-14T12:05:43.513 に答える