2017-02-04 1 views
1
eingefügt wird

In meiner Android-Anwendung möchte ich feststellen, ob eine neue SIM-Karte (beliebige andere SIM als die vorherige SIM-Karte) in das Gerät eingefügt wird.Erkennen, wenn neue SIM in Gerät

Wie kann ich das tun?

+0

@ maytham-ɯɐɥʇʎɐɯ Da die doppelte Frage, die Sie verknüpft haben, als "keine Frage" geschlossen wurde, wird sie wahrscheinlich gelöscht. Daher halte ich es nicht für sinnvoll, diese Frage als Duplikat zu schließen. –

+2

@DavidWasser Nur zur Info, wenn eine Frage ein doppeltes Ziel ist, kann sie nicht gelöscht werden. –

Antwort

2

können Sie hören: android.intent.action.SIM_STATE_CHANGED

Diese Sendung wird jedes Mal Benutzer setzt eine SIM-Karte auslösen. Sie haben Dinge wie die Art und Weise zu handhaben Sie mit bestimmten Statisten gesucht:

Absichten: android.intent.action.SIM_STATE_CHANGED mit Extras: ss = LOCKED, Grund = PIN Intent: android.intent.action.SIM_STATE_CHANGED mit Extras: ss = READY, Grund = null Absicht: android.intent.action.SIM_STATE_CHANGED mit Extras: ss = IMSI, Grund = Null Absicht: android.intent.action.SIM_STATE_CHANGED mit Extras: ss = geladen, Grund = Null

Und dann erkennen, ob die SIM-Karte ist neu prüfen, ob TelephonyManager.getSubscriberId(). SubId bedeutet den Eintrag, den die SIM-Karte bis zu dem Zeitpunkt hatte, als sie zum ersten Mal auf einem bestimmten Gerät installiert wurde.

Ich hoffe, es hilft.

+0

Ist die Abonnenten-ID für jede Sim eindeutig? –

+0

Ja ist es. Es ist mit den Informationen in der SIM-Karte selbst verbunden. –

+0

Ja, ist es. Jedes Mal, wenn eine neue SIM-Karte in das SIM-Fach eingelegt wird, wird eine neue Sub-ID erstellt. Bitte machen Sie keine Verwechslungen mit slotId, das 0 oder 1 basierend auf SIM-Fach-Position für Dual-SIM ist. –

Verwandte Themen