Sprawdzam siłę sygnału dla urządzeń CDMA. Czy ktokolwiek może określić zakres signalStrength.getCdmaDbm()
zwraca ?. Najniższy jest -120, ale dla pełnej siły sygnału, jaka jest wartość? Najwyższy mam, to jest -52.Zasięg dla sygnału Siła w dbm dla urządzeń CDMA
10
A
Odpowiedz
16
Więc nie jestem pewien, czy to jest to, czego szukasz, ale po przyjrzeniu pliku SignalStrength.java w Android źródła zauważyłem kawałek kodu, który ma kilka poziomów CDMA dBm i poziomów ECIO.
DBM
level 4 >= -75
level 3 >= -85
level 2 >= -95
level 1 >= -100
Ecio
level 4 >= -90
level 3 >= -110
level 2 >= -130
level 1 >= -150
i poziom jest najniższy od dwóch
actualLevel = (levelDbm < levelEcio) ? levelDbm : levelEcio;
ale zauważyłem, że ten nie koreluje z aktualnymi barów pokazano w zgłoszeniu. Jeśli w 3G to poziom jest ignorowany i używany jest stosunek sygnału do szumu.
signalStrength.getEvdoSnr() // value is 0 to 8 so divide by two to get the bars
jeśli dane spada z 3G 1x następnie użyć actualLevel.
To był mój kod do wyszukania liczby pasków.
public void onSignalStrengthsChanged(SignalStrength signalStrength) {
super.onSignalStrengthsChanged(signalStrength);
if (signalStrength.isGsm()) {
if (signalStrength.getGsmSignalStrength() != 99)
signalStrengthValue = signalStrength.getGsmSignalStrength() * 2 - 113;
else
signalStrengthValue = signalStrength.getGsmSignalStrength();
} else {
final int snr = signalStrength.getEvdoSnr();
final int cdmaDbm = signalStrength.getCdmaDbm();
final int cdmaEcio = signalStrength.getCdmaEcio();
int levelDbm;
int levelEcio;
int level = 0;
if (snr == -1) {
if (cdmaDbm >= -75) levelDbm = 4;
else if (cdmaDbm >= -85) levelDbm = 3;
else if (cdmaDbm >= -95) levelDbm = 2;
else if (cdmaDbm >= -100) levelDbm = 1;
else levelDbm = 0;
// Ec/Io are in dB*10
if (cdmaEcio >= -90) levelEcio = 4;
else if (cdmaEcio >= -110) levelEcio = 3;
else if (cdmaEcio >= -130) levelEcio = 2;
else if (cdmaEcio >= -150) levelEcio = 1;
else levelEcio = 0;
level = (levelDbm < levelEcio) ? levelDbm : levelEcio;
} else {
if (snr == 7 || snr == 8) level =4;
else if (snr == 5 || snr == 6) level =3;
else if (snr == 3 || snr == 4) level = 2;
else if (snr ==1 || snr ==2) level =1;
}
text.setText("Bars= " + level);
}
}
w sprawie utworzenia użytku Metoda ta poniżej, a także upewnić się manifest wykorzystuje READ_PHONE_STATE.
TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
AndroidPhoneStateListener phoneStateListener = new AndroidPhoneStateListener(text);
telephonyManager.listen(phoneStateListener, PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
Powiązane problemy
- 1. Android - Siła sygnału na poziomie, DBM i ASU
- 2. Siła sygnału emulatora Androida:
- 3. Siła sygnału Bluetooth LE Linux
- 4. Co to jest znaczenie negatywnej dbm w sile sygnału?
- 5. Czy można odczytać jakość sygnału z modemów GSM/CDMA, gdy jest podłączony?
- 6. Siła sygnału WIFI i komórkowej transmisji danych
- 7. OpenGL (dla urządzeń mobilnych) Poradniki dla początkujących
- 8. Różne ustawienia dla różnych urządzeń?
- 9. RFID Reader dla urządzeń mobilnych
- 10. Zasięg kodu Maven dla projektu Java 8
- 11. .htaccess siła ssl dla konkretnej domeny
- 12. Dzienniki urządzeń dla bluetooth w systemie iOS
- 13. FormCollection Puste w ASP.NET dla urządzeń mobilnych
- 14. siginterrupt() działa tylko dla pierwszego sygnału? (Python)
- 15. szybsza alternatywa dla sygnału dźwiękowego Windows.h()
- 16. zachowanie rodzica i potomka dla obsługi sygnału
- 17. Pobliskie API połączenia dla Androida - nie działa dla niektórych urządzeń
- 18. Jak uzyskać IMEI dla J2ME dla wszystkich urządzeń?
- 19. Użyj funkcji RegisterDeviceNotification() dla WSZYSTKICH urządzeń USB.
- 20. narzędzie do wizualizacji dla urządzeń przenośnych (tablet)
- 21. Modyfikowanie drzewa urządzeń dla Beaglebone Black
- 22. Odpowiednik iOS dla urządzeń z Androidem SharedPreferences
- 23. Menedżer powiadomień getActiveNotifications() dla starszych urządzeń
- 24. Gdzie jest kod dla domyślnej obsługi sygnału w binarnym ELF?
- 25. Uzyskiwanie siły sygnału WiFi w Androidzie
- 26. Android Jak rozpoznać operatora w sieci CDMA?
- 27. Jak zmierzyć typowy zasięg dla komponentów polimerowych + pliki .js?
- 28. Zasięg dokumentu, zakładki z zakresem zabezpieczeń dla pakietów plików
- 29. Siła Eclipse ignorować testy dla klas poszukiwaniu Java
- 30. Zasięg Emmy w typach Enum
Co zrobić, jeśli telefon jest w sieci GSM. Zmienna "signalStrengthValue" jest wartością dBm. Jak obliczyć wartość ECIO? – MCGBra