Lors du débogage du code ci-dessous, BroadcastReceiverCustom est appelé mais PhoneStateListenerCustom ne l'est pas.BroadcastReceiver appelé mais PhoneStateListener non appelé
Pour l'instant je et en faisant l'action requise dans BroadcastReceiverCustom seulement, mais ne peut pas être le meilleur endroit pour le faire. Des suggestions pour lesquelles PhoneStateListener n'est pas appelé ?? Déjà passé beaucoup de temps pour des raisons possibles, aucune idée? Le fichier manifeste est correct avec les autorisations appropriées. Je ne vois aucune exception d'exécution.
BroadcastReceiverCustom.java
public class BroadcastReceiverCustom extends BroadcastReceiver {
private static final String TAG = "BroadcastReceiverCustom";
@Override
public void onReceive(Context context, Intent intent) {
Log.v(TAG, "WE ARE INSIDE!!!!!!!!!!!");
TelephonyManager telephony = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
PhoneStateListenerCustom phoneStateListenerCustom = new PhoneStateListenerCustom();
telephony.listen(phoneStateListenerCustom, PhoneStateListener.LISTEN_CALL_STATE);
}
}
PhoneStateListenerCustom.java
public class PhoneStateListenerCustom extends PhoneStateListener {
private static final String TAG = "PhoneStateListenerCustom";
public void onCallStateChange(int state, String incomingNumber){
Log.v(TAG, "WE ARE INSIDE!!!!!!!!!!!");
switch(state){
case TelephonyManager.CALL_STATE_RINGING:
Log.d(TAG, "RINGING");
break;
}
super.onCallStateChanged(state, incomingNumber);
}
}
fichier Manifest
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<receiver android:name=".BroadcastReceiverCustom">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>
évidemment vous ne recevrez pas un incomingNumber pour les États DECRO et oisive. c'était un code que j'avais écrit pour illustrer ce fait. – moonlightcheese