Je développe une application pour Android.
J'utilise Samsung Galaxy S3 avec ROM Jelly Bean d'origine 4.3.Comment annuler l'enregistrement des appels entrants et des récepteurs d'appels sortants?
J'ai un problème avec les récepteurs des appels entrants et sortants.
Voici le code de IncomingCallReceiver:
public void onReceive(Context context, Intent intent) {
String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE);
if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)) {
if (Start.getMusicService().isPlaying()) {
pauseMusicService();
isMusicPlaying = true;
}
}
else if (state.equals(TelephonyManager.EXTRA_STATE_IDLE)) {
if (isMusicPlaying){
restartMusicService();
isMusicPlaying = false;
}
}
}
Toutefois, ce n'est pas le problème, ce code fonctionne et aussi le récepteur d'appel sortant fonctionne parfaitement.
Mon problème est que lorsque je quitte l'application, ces récepteurs fonctionnent toujours.
Il est arrivé que, quelques jours après la dernière fois que j'ai ouvert l'application, j'ai reçu un appel téléphonique et l'application s'est écrasée.
Je pense qu'il est arrivé parce que je Recopiez le code:
if (Start.getMusicService().isPlaying())
parce que début (ma première activité) n'existe pas.
Je n'enregistre jamais ce récepteur, ils fonctionnent sans que je les "appelle".
Je ne sais pas si je dois me désinscrire et au cas où je devrais le faire.
Alors, quelqu'un peut-il m'aider s'il vous plaît?
Andrea
Le récepteur de l'intention est-il enregistré dans votre AndroidManifest ou lors de l'exécution? –
@Dans Oui, je déclare les deux récepteurs sur le manifeste et ils fonctionnent parfaitement. – andrea92