Was bedeutet getLine1Number()
Methode von TelephonyManager
mit Dual-SIM-Telefonen wie LG Optimus Net Dual
?
Du bekommst nur eine Nummer zurück ... vielleicht!
Erstens, welche Nummer Sie zurück erhalten, ist geräteabhängig.
Aber genauso wichtig, ob Sie überhaupt eine Nummer bekommen, und ob diese Nummer die Telefonnummer ist, ist völlig unvorhersehbar. Dies ist SIM und Operator abhängig.
In einer meiner Apps habe ich angefangen, die Telefonnummer als eindeutige ID zu verwenden, da ich erwarten konnte, dass der Benutzer diese Nummer leicht abrufen kann. Für die meisten Betreiber in Asien, Australien und einigen in Europa ist die Telefonnummer (line1number ()) einfach nicht auf der SIM gespeichert! Bei anderen erhalten Sie möglicherweise eine Folge von Nullen. Oder eine Zahl, die so formatiert ist, dass sie lokal sinnvoll ist, aber die Logik Ihrer App durcheinander bringen könnte.
Android unterstützt keine Dual-SIM-Geräte. Siehe: Ermitteln des Status von zwei SIM-Karten in einem Dual-SIM-Android-Handy
Wie jemand anderes sagte, könnten Sie Unterstützung von Geräteherstellern bekommen.
Zusätzlich wird getLine1Number () nicht garantiert, dass eine Telefonnummer zurückgegeben wird. Es gibt nur zurück, was die Bediener in der Karte speichern, und einige Betreiber füllen nicht diese Zahl aus. Bei einigen Sim-Karten würde das einfach null ergeben.
Wenn Sie Einzelheiten dazu angeben, was Sie erreichen möchten, können wir möglicherweise eine bessere Lösung anbieten.
Das Standard-SDK unterstützt keine Dual-SIM-Telefone. Die Funktion gibt nur eine Nummer zurück, höchstwahrscheinlich von der ersten aktiven SIM-Karte.
Allerdings gibt der Hersteller manchmal SDKs für den Umgang mit diesen Dingen aus, vielleicht sollten Sie sich dies ansehen.
Tags und Links android