Nicht imstande, nicht leere Zeichenfolge aus PhoneStateListener zu bekommen :: onCallStateChanged

StackOverflow https://stackoverflow.com/questions/4412224

  •  08-10-2019
  •  | 
  •  

Frage

Quelle:

listener = new PhoneStateListener()
    {
        @Override
        public void onCallStateChanged(int state, String incomingNumber) {
            super.onCallStateChanged(state, incomingNumber);
            Toast toast = Toast.makeText(getApplicationContext(), incomingNumber, Toast.LENGTH_LONG);
            toast.show();
        }

    };

    ((TelephonyManager)getSystemService(TELEPHONY_SERVICE)).listen(listener , PhoneStateListener.LISTEN_CALL_STATE )

Hallo,
Ich verwende diesen Code, mit android.permission.READ_PHONE_STATE Erlaubnis, Toast Nachricht einschließlich der Anzahl der gestarteten Aufruf zu erhalten. Mein Problem ist, dass incomingNumber leer ist, es aber nicht fromm ob Anruf abgehenden oder incomming, Toast erscheinen, aber leer.
Ich habe einige Lösungen für diese gesehen, aber Lösung war die Zahl mit ganz anderer Art und Weise zu bekommen, und ich möchte wissen, ob mein Code für meine Bedürfnisse verwendet werden.
Vielen Dank für die Ratschläge,
Adam

War es hilfreich?

Lösung

Sie sind Erlaubnis in Ihrer Anwendung.

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


if(state == TelephonyManager.CALL_STATE_RINGING){
Toast toast = Toast.makeText(getApplicationContext(), incomingNumber, Toast.LENGTH_LONG);
toast.show();
}

CALL_STATE_OFFHOOK return null, wenn der erste Anruf. So sollten Sie CALL_STATE_RINGING verwenden.

Hoffentlich wird es Ihnen helfen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top