2012-08-17 6 views
8

Ich wollte Funktionen in Verbindung mit CALL und SMS in meiner Anwendung deaktivieren, je nachdem, ob SIM-Hardware vorhanden ist oder nicht. Jetzt ein Anfänger Ansatz in Richtung dieser wird die Überprüfung der Telefon-Art mit:Wie kann man herausfinden, ob ein bestimmtes Gerät SIM-Hardware-Unterstützung hat?

Wenn stimmt dann wird es unterstützt.

Alles war in Ordnung, bis ich auf Sony Tablet S stieß, die eine SIM-Unterstützung nur für Daten und Messaging hat. Keine Sprachunterstützung. Für dieses Gerät muss ich nur die CALL-Funktion deaktivieren, aber mit der SMS-Unterstützung fortfahren. Sony Tablet gibt TelephonyManager.PHONE_TYPE_NONE zurück, so dass ich die oben genannten Methoden nicht verwenden kann. Auch ,

telephonyManager1.getSimState(); 

gibt 1 zurück d.h SIM_STATE_ABSENT, die im Falle von HTC FLYER auch gleiche ist, die keine Unterstützung für SIM-Hardware hat sich.

Also gibt es eine Möglichkeit, in denen ich erfahren kann, ob SIM-Hardware da ist (unabhängig von der SIM-Karte eingesetzt oder nicht)?

+0

so ist Ihr Endziel zu wissen, ob Anruf unterstützt wird? Warum interessieren Sie sich für Sim – nandeesh

+0

VoIP-Anruf über WiFi wird nicht unterstützt? – MSalters

+0

@nandeesh - mein Ziel ist es zu wissen, ob beide Anrufe und SMS individuell unterstützt werden. Um genau zu sein, möchte ich wissen, ob es einen SIM-Karten-Slot gibt. – binaryKarmic

Antwort

0

Verwenden

PackageManager pm = this.getPackageManager(); 
boolean hasTelephony=pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY); 

Edit:

Versuchen

TelephonyManager.getLine1Number() 

mit der Wenn diese null zurückgibt, dann pflegen Sie Telefonie-Funktion. Habe es nicht versucht. geben Sie es eine Chance

+1

-i überprüft auf HTC Flyer und Sony Tablet S ... beide zurück false :(. Ich bin eigentlich überrascht. Die Dokumente sagen, "Feature für getSystemAvailableFeatures() und hasSystemFeature (String): Das Gerät verfügt über eine Telefonanlage mit Daten Kommunikationssupport. " dieses Sony Tablet unterstützt SMS-Messaging obwohl. – binaryKarmic

+0

auch wenn es Null zurückgibt das ist nicht hilft mir hier .. weil ich bekomme, ob CALL unterstützt wird oder nicht mit Hilfe von TelephonyManager.PHONE_TYPE_NONE .... Was Ich muss überprüfen, ob SMS unterstützt wird oder nicht – binaryKarmic

Verwandte Themen