Question

Il faut espérer Un facile pour quelqu'un, mais me causer des problèmes.

J'ai une application qui boucle les fichiers sonores. Je ne code OnPause que je veux l'application de continuer à jouer de la musique en arrière-plan.

Je dois maintenant l'application de fermer si un appel entrant est reçu.

Je peux ajouter du code à OnPause et fermer l'activité et arrêter le MediaPlayer. Cependant, cela arrête l'application si une application est lancée.

Comment puis-je détecter un appel entrant pour vérifier l'intérieur OnPause?

Était-ce utile?

La solution

Pour détecter l'appel entrant, nous enregistrons un BroadcastReceiver pour la l'action android.intent.action.PHONE_STATE. Ce sera diffusé quand il y a un changement d'état du téléphone. L'intention de réception aura une variable de chaîne supplémentaire TelephonyManager.EXTRA_STATE qui décrit l'état du téléphone. Si cet état est TelephonyManager.EXTRA_STATE_RINGING alors il y aura une autre variable de chaîne supplémentaire TelephonyManager.EXTRA_INCOMING_NUMBER. Cette variable contient la numéro de téléphone entrant. Notez que cette variable ne sera pas présent lorsque l'état n'est pas TelephonyManager.EXTRA_STATE_RINGING.

source: http: //www.androiddevblog. net / Android / détection-entrants-et-appels sortants-en-android

En fait, une fois que vous enregistrez un récepteur de diffusion, vous pouvez écouter la notification de diffusion que vous êtes intéressé par votre téléphone, puis agir en conséquence.

Autres conseils

Vous n'avez pas. Android prend soin pause votre application - vous devez utiliser la téléphonie gestionnaire pour déterminer si d'arrêter votre aplication ou non. Une bonne façon serait de gérer cette méthode dans OnPause ()

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top