Comment surveiller SIM changement d'état
J'aimerais être capable de faire certaines choses lorsque la carte SIM changement d'état, c'est à dire jouer un son lors de PIN de la SIM est nécessaire, mais je pense qu'il n'y a pas de Diffuser des événements qui peuvent être interceptées par un récepteur de radiodiffusion pour ce... de l'inscription pour android.l'intention.action.PHONE_STATE ne fait que dites-vous lorsque l'APPEL changements d'ÉTAT.. Une alternative peut être à partir d'un service qui enregistre un PhoneStateListener et réagit sur un LISTEN_SERVICE_STATE (lorsque l'état est D'un autre ETAT, il peut obtenir la carte SIM de l'état de la TelephonyManager et regardez si l'état est SIM_STATE_PIN_REQUIRED). Donc, mes questions sont les suivantes:
1) Est-il la diffusion de l'intention que je peux utiliser pour intercepter un SIM de modification de l'état ou d'un Service de modification de l'État?
2) est-ce une mauvaise idée d'installer un PhoneStateListener au sein d'un Service et de l'utiliser pour transmettre les intentions pour le Service lui-même lors de la notification d'un téléphone en état modifié reçu par le PhoneStateListener?
Vous devez vous connecter pour publier un commentaire.
L'Intention
android.intent.action.SIM_STATE_CHANGED
est diffusé lorsque le SIM les changements d'état. Par exemple, sur mon HTC Desire avec un T-Mobile de la carte SIM, si j'ai mis l'appareil en mode avion la suite Intention est de radiodiffusion:Si je puis sortir du mode avion, suivant les Intentions de diffusion:
Il est possible que les différents fabricants et de différents modèles se comportent différemment. Comme ils le disent, "Votre kilométrage peut varier".
David réponse est sur place. Je voulais ajouter un peu de code d'exemple pour aider les gens à démarrer avec la mise en œuvre d'un tel état de moniteur.
La deuxième approche d'avoir un PhoneStateListener dans un Service qui écoute onServiceStateChanged() a fonctionné pour moi. Je crois que sur certains appareils, vous n'obtiendrez pas la radio interne
android.intent.action.SIM_STATE_CHANGED
.