Nicht imstande, nicht leere Zeichenfolge aus PhoneStateListener zu bekommen :: onCallStateChanged
-
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
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