0

私が持っているもの:デバイスの状態をチェックしている機能。ここで、READ_PHONE_STATE自分の番号に音声通話がかかってきたときに実行したい関数を配置しましたが、思い通りに機能せず、アプリケーションを強制的に閉じます。これが私のコードです:

public void readPhoneState() {
    // Create a new PhoneStateListener
    listener = new PhoneStateListener() {
        @Override
        public void onCallStateChanged(int state, String incomingNumber) {
            switch (state) {
                case TelephonyManager.CALL_STATE_IDLE:
                    Log.e("DEBUG", "IDLE");
                    break;
                case TelephonyManager.CALL_STATE_OFFHOOK:
                    Log.e("DEBUG", "OFF_HOOK");
                    break;
                case TelephonyManager.CALL_STATE_RINGING:
                    myFunction();                                                                                           
                    break;
            }
        }
    };

    // Register the listener with the telephony manager
    telephonyManager.listen(listener, PhoneStateListener.LISTEN_CALL_STATE);
}    

この関数を で実行したいだけですPHONE_STATE_RINGING。これを達成する方法は?

4

0 に答える 0