TelephonyManager.CALL_STATE_IDLE ruft mehr als einmal

Habe ich eine Klasse, die ein listener-der Telefon-Anruf-Zustand. in diesem, wenn der Anruf unterbrochen wird diese Linie,

case TelephonyManager.CALL_STATE_IDLE:
Log.e(TAG, "CALL_STATE_IDLE");
break;

ausführt, mehr als einmal. dies wirkt sich auf meine Anforderung schlecht. helfen Sie mir bitte, wenn jemand kennt dieses Problem.

vielen Dank im Voraus

 public class IncomingCallListener extends BroadcastReceiver
        {
            private Context mContext;
            private static final String TAG = "CustomBroadcastReceiver";
        @Override
        public void onReceive(Context context, Intent intent) 
        {
            mContext = context;
            TelephonyManager telephony = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
            CustomPhoneStateListener customPhoneListener = new   CustomPhoneStateListener();
            telephony.listen(customPhoneListener,   PhoneStateListener.LISTEN_CALL_STATE);
            Bundle bundle = intent.getExtras();
            String phoneNr= bundle.getString("incoming_number");

        }
        public class CustomPhoneStateListener extends PhoneStateListener
            {
                private static final String TAG = "CustomPhoneStateListener";

                @Override
                public void onCallStateChanged(int state, String incomingNumber) 
                {
                switch (state) 
                {
                    case TelephonyManager.CALL_STATE_RINGING:
                        if(!incomingNumber.equalsIgnoreCase(""))
                        {
                            Log.e(TAG, "CALL_STATE_RINGING");
                        }
                        break;
                case TelephonyManager.CALL_STATE_OFFHOOK:
                    Log.e(TAG, "CALL_STATE_OFFHOOK");
                    break;
                case TelephonyManager.CALL_STATE_IDLE:
                    Log.e(TAG, "CALL_STATE_IDLE");
                    break;
                default:
                    break;
                }
                super.onCallStateChanged(state, incomingNumber);
            }
        }       
    } 
InformationsquelleAutor AndEngine | 2012-11-29
Schreibe einen Kommentar