Android: Wie bekomme ich die GSM-Signalstärke für alle verfügbaren Netzbetreiber?
Ich arbeite an einer kleinen app zum überprüfen der Signalstärke von verschiedenen Netzbetreibern in meiner Gegend. Meine aktuelle Betreiber das signal ist sehr instabil, und ich möchte, um sich in der Stärke des anderen GSM-Betreiber.
Bislang habe ich mit den TelephonyManager und ein PhoneStateListener mit der onSignalStrengthsChanged rufen Sie zurück, um die GSM-Signalstärke des aktuellen Netzbetreibers, aber es scheint, dass diese Klasse nur gibt mir info über die Signalstärke des Netzes an meine SIM-Karte.
Ich bin interessiert an der Messung der GSM-Signalstärke ALLER verfügbaren Operatoren. Suche im Netz gegeben hat, die vage Hinweise auf die Verwendung der internen android-Klassen, aber ich hab noch nicht gefunden, jedes gute Beispiele.
Jede Antwort, kann mich bewegen, um eine Liste aller verfügbaren Netzwerk-Operatoren und Ihre Signalstärke sind appreaciated.
InformationsquelleAutor der Frage The Schwartz | 2012-05-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vielleicht auch die folgenden Zitate und links, die Ihnen helfen können code eine eigene Lösung:
1.- Um eine Liste der verfügbaren Netzwerk-Anbieter (zitiert Wie man eine Liste der verfügbaren Netzwerk-Anbieter? vollständig):
2.- Auch eine schnelle Lesen zu NetworkSetting.java und INetworkQueryService-Schnittstelle, gibt uns eine Vorstellung, Ihr Ziel zu erreichen.
Ich hoffe, es hilft. Ich denke, es ist eine interessante Herausforderung, vielleicht werde ich es versuchen wenn ich das nächste mal etwas Freizeit haben. Viel Glück!
InformationsquelleAutor der Antwort Alejandro Colorado
InformationsquelleAutor der Antwort Sandeep
Da ich keine 50 Ruf Punkte, hier ist das Ergebnis meiner Recherchen über das Thema :
Die Lösung von Alejandro Colorado scheint zu sein, die gute. Aber das problem ist, dass die verwendeten Klassen zu erreichen, sind reserviert für die android-system-Anwendungen, d.h. Anwendungen, die signiert sind mit der gleichen Signatur-key als system.
Wie konnte es möglich sein? Ich fand zwei Wege, dies zu erreichen.
Die erste ist, zu bitten, einen job bei jedem Hersteller die Telekom in Deutschland, und unterzeichnen der NDA, aber eh, das ist keine wirklich gute Lösung. Vor allem, wie die app umgesetzt und signiert mit diesem Schlüssel funktioniert nur für Geräte von der Telekom in Deutschland...
Die zweite, viel mehr Spaß, aber ich warne Sie, es ist nicht einfach sein wird, ist, um Ihre eigene ROM. Du musst eine Anwendung erstellen, legen Sie Sie in den /system/app/Verzeichnis der ROM und es neu kompilieren zu blinken Ihr Gerät mit dem neuen system. Aber es gibt eine Frage, ich habe noch nicht geantwortet, ist das problem der unerkannten ROM Signatur.
Ich denke, der beste Weg, um dieses problem zu vermeiden ist, um Ihre ROM-signing-key in die Erholung, die Sie verwenden werden.
Hier bin ich an diesem Punkt, vielleicht könnte Sie finden diese Forschung nützlich, ich hoffe so!
Ich komme später wieder, wenn ich ein paar mehr Informationen für Euch. Bye.
InformationsquelleAutor der Antwort eduine
erstellen Sie eine PhoneStateListener und Griff die onSignalStrengthChanged Rückruf. Wenn Ihre app initialisiert werden, es sollte Ihnen eine einmalige Benachrichtigung. Dies ist in 1.x. in der 2.x, es gibt eine offene Problemüber diese.
InformationsquelleAutor der Antwort Krishnakant Dalal