2010-09-27 21 views
17

Ben bir Hücresel RF Mühendisiyim ve Android SDK ortamı dışında bazı belirli WCDMA/3G/UMTSsignal ölçüm değerleri almaya çalışıyorum. SignalStrength genel sınıfını kullanarak, getGsmSignalStrength() kullanarak, anlamlı GSM değerlerini (Yazılım Mühendisi yardımıyla) elde etmede başarılı oldum, ancak ilgili CDMA sinyal gücü değerlerini döndürmesi beklenen getCdmaDbm() ve getCdmaEcio() için sadece "-1" değerleri verin. -1 kesinlikle doğru değil!Android: Nasıl 3G/UMTS Sinyal Gücü Değerler

Telefonum kesinlikle bir UMTS üzerindeydi ve UMTS parametrelerini saha test yazılımında okuyabiliyordum (saha test yazılımlarının kendi başına bir güçlük çekmesini sağlamak için).

ben değil, WCDMA telefonunuzdan 3G ölçümlerini almaya çalışırken açısından beni yüksek ve kuru bırakır (CDMA ve WCDMA farklı teknolojidir) o getCdmaDbm() ve getCdmaEcio() yöntemleri CDMA şebekeleri için olduğunu oldukça olası olduğunu düşünüyorum. Alternatif olarak, orada bazı diğer yöntemler var ama ben sadece web'de referans malzemesi onları bulamıyorum:

http://developer.android.com/reference/android/telephony/SignalStrength.html

birisi bana yardımcı misiniz? Bir yol olmalı (sonuçta, saha testi s/w bu bilgiyi alabilir) ama nasıl? Birisi UMTS, GSM ve CDMA ölçüm bilgilerini alan Cellumap adlı bir uygulama yazdı.

+0

Kontrol bu [cevap] (http://stackoverflow.com/questions/1967136/how-to-get-cell-service-signal-strength-in-android/1967160#1967160) bir PhoneStateListener olarak bu nesneyi uygulama hakkında . Sinyal gücü her değiştiğinde (ve aktivite başladığında) sinyal gücünü alırsınız. –

cevap

1

NeighboringCellInfo sınıfından getRSSI() yöntemini denediniz.

döndürür GSM için eğer bilinmeyen bir sinyal kuvveti ya da UNKNOWN_RSSI, 0 ila 31 arasında değişen "asu" olduğu alınan (dBm = -113 + 2 * asu) 0 "-113 dBm veya şu anlama gelir: bu açıklaması az" ve 31 araç '-51 dBm veya UMTS için' büyük, bu olduğunu 25,125