Как получить параметры качества сигнала GSM на Android?

Я пытаюсь найти какие-либо методы для получения параметров качества, таких как BER и CIR. Единственное, что я смог найти в Google и на веб-сайте Android Developer, это getGsmBitErrorRate(), но, похоже, он все время показывает -1. Так есть ли способ получить параметры качества другим способом? А может быть я просто что-то не так делаю?


person StalkerRus    schedule 13.11.2010    source источник
comment
Может быть, ошибка?: code.google.com/p/android/issues. /detail?id=9271   -  person dacwe    schedule 13.11.2010


Ответы (1)


Это работает для вас?

    TelephonyManager SignalManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);

    PhoneStateListener signalListener = new PhoneStateListener() {

        public void onCallForwardingIndicatorChanged(boolean cfi) {
        }

        public void onCallStateChanged(int state, String incomingNumber) {
        }

        public void onCellLocationChanged(CellLocation location) {
        }

        public void onDataActivity(int direction) {
        }

        public void onDataConnectionStateChanged(int state) {
        }

        public void onDataConnectionStateChanged(int state, int networkType) {
        }

        public void onMessageWaitingIndicatorChanged(boolean mwi) {
        }

        public void onServiceStateChanged(ServiceState serviceState) {
        }

        public void onSignalStrengthsChanged(SignalStrength signalStrength) {
            super.onSignalStrengthsChanged(signalStrength);

            Log.e("onSignalStrengthsChanged: ", "GSM Cinr = "
                    + signalStrength.getGsmSignalStrength()); 
        }

    }; 

    SignalManager.listen(signalListener,
            PhoneStateListener.LISTEN_SIGNAL_STRENGTH); 
person biquillo    schedule 13.11.2010