Impossible d'obtenir la chaîne non vide de PhoneStateListener :: onCallStateChanged
-
08-10-2019 - |
Question
Source:
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 )
Salut,
J'utilise ce code, avec la permission de android.permission.READ_PHONE_STATE
, pour obtenir du pain grillé un message y compris le numéro d'appel a commencé. Mon problème est que incomingNumber est vide, il commets peu importe si l'appel est sortant ou incomming, du pain grillé apparaissent, mais vide.
J'ai vu quelques solutions pour cela, mais la solution était d'obtenir le nombre de manière complètement différente et je veux savoir si mon code peut être utilisé pour mes besoins.
Merci pour avis,
Adam
La solution
S'il vous plaît inclure la permission dans votre application.
<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 si son premier appel. Vous devez donc utiliser CALL_STATE_RINGING
.
Espérons que cela vous aidera.