Android - это SignalStrength класс событий? - PullRequest
0 голосов
/ 15 сентября 2011

У меня небольшая проблема с классом Android SignalStrength. Есть ли способ использовать методы из этого класса без ссылки на объект из этого класса в методе onSignalStrengthsChanged ()? Из всех примеров, которые я видел, мне кажется, что это класс событий, и этот объект создается, когда происходит событие (изменение уровня сигнала gsm), и что это единственный способ вызова методов из этого класса. Я прав?

    public void onSignalStrengthsChanged(SignalStrength signalStrength)
  {
     String power= String.valueOf(signalStrength.getGsmSignalStrength());
     gsmStat.setText("GSM cinr: " +power);
  }

Что если я хочу вызвать методы из этого класса (и прочитать свойства сигнала gsm) в каком-то другом случае, например, когда я щелкаю объект кнопки?

Большое спасибо за любую помощь, я действительно застрял с этим.

BR, Z


Спасибо за разъяснение. Я пытался использовать getNeighbouringCellInfo, но по какой-то причине это возвращает 0. И да, я искал и пробовал разные примеры.

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

public void onClick(View v) {
List<NeighboringCellInfo>  neighCell = null; 
neighCell = Tel.getNeighboringCellInfo(); 
NeighboringCellInfo thisCell = neighCell.get(1);
int thisNeighRSSI = thisCell.getRssi();
String rssi=Integer.toString(thisNeighRSSI);
tvRSSI.setText("Test: " +rssi);
 }

Ответы [ 2 ]

1 голос
/ 15 сентября 2011

Вы не можете.Единственный способ получить соответствующий объект SignalStrength - это метод onSignalStrengthChanged.

Однако вы можете использовать метод TelephonyManager.getNeighbouringCellInfo, чтобы получить список окружающих ячеек и получить сигнал RSSI power (getRssi).

0 голосов
/ 16 сентября 2011

См .: getNeighboringCellInfo () возвращает нулевой список

getNeighboringCellInfo()

Это не работает на устройствах Samsung.

Извините, что поставил это как ответ, но я не могу добавить комментарий к существующему ответу.

Что касается моего ответа, вы можете самостоятельно отслеживать RSSI в службе, чтобы при нажатии кнопки возвращалось последнее записанное значение RSSI.Сказав это, я обнаружил, что на Samsung Galaxy, с которым я работаю, значение RSSI на самом деле является числом антенных полос (т.е. я получаю только 4 значения), а не фактическим RSSI.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...