Измерение «реального» уровня сигнала телефона на мобильном телефоне - PullRequest
6 голосов
/ 04 декабря 2009

Я хочу программно измерить уровень сигнала телефона в мобильном телефоне. На самом деле меня не волнует мобильный телефон или среда программирования: он может быть основан на Android или Windows Mobile или даже на J2ME и может быть от любого производителя (пожалуйста, не iPhone). Однако это должен быть настоящий коммерческий мобильный телефон, а не специальное измерительное устройство.

Эта проблема не так проста, как кажется на первый взгляд. Я знаю, что уже существует ряд методов, которые утверждают, что возвращают силу сигнала телефона. Что-нибудь из этого являются:

  • SystemState.PhoneSignalStrength для WM6
  • RIL_GetCellTowerInfo для WinCe (член dwRxLevel возвращаемой структуры RILCELLTOWERINFO)
  • android.telephony.NeighboringCellInfo.getRssi () для android

Проблема с вышеприведенным заключается в том, что они возвращают только несколько (менее 10) дискретных значений, что означает, например, что возвращаемые значения SystemState.PhoneSignalStrength могут быть переведены только (например) в -100 дБм, -90 дБм, -80 дБм, -70 дБм и -60 дБм, что бесполезно для моего приложения, поскольку я хотел бы иметь как можно большую точность.

Неважно, если есть недокументированное решение, которое работает только на одном телефоне, если вы можете сказать мне, как я был бы благодарен.

Заранее спасибо

Ответы [ 4 ]

3 голосов
/ 04 декабря 2009

Проверьте API-интерфейс мобильного датчика JSR-256 для Java ME. Устройства Nokia S60 5th edition поддерживают этот API. Вы можете проверить интенсивность сетевого сигнала с помощью этого API. Но, может быть, стоит сначала спросить его детализацию на форуме Nokia.

2 голосов
/ 02 июня 2010

Существует хорошее руководство, которое объясняет, как измерить реальный сигнал GSM на вашем телефоне Попробуйте этот урок:

http://www.firstdroid.com/2010/05/12/get-provider-gsm-signal-strength/

Надеюсь, это поможет,

Адриан.

2 голосов
/ 31 марта 2010

Вот решение, которое я нашел для людей, которые все еще ищут ответ:

В некоторых мобильных телефонах HTC с Windows Mobile есть программа fieldtest.exe, в которой содержится необходимая информация (возможно, в других телефонах она есть, я тестировал только с конкретным HTC, но из поиска в Google я понимаю, что большинство HTC WM телефоны это). Программа для полевых испытаний имеет не только точную мощность сигнала для телефона, но и большое количество другой очень полезной информации о телефонии, которая иначе недоступна.

Единственная проблема заключается в том, как вы можете использовать данные этой программы в своем процессе, поскольку все значения хранятся в ListView.

Ну, это был смысл другого вопроса, который я отправил .

Итак, решение состоит в том, чтобы запустить программу fieldtest и извлечь / украсть нужные значения оттуда!

1 голос
/ 04 декабря 2009

На платформах WindowsCE это может быть сложно. Последняя платформа, на которой я работал, использовала модем Siemens, к которому я мог получить прямой доступ и получать собственную информацию. Однако со времени их последнего обновления прошивки они теперь закрыли это и заставили меня перейти через RIL.

Полагаю, вам, возможно, придется найти конкретный блок с определенным модемом. Однако я не знаю ничего конкретного. Сожалею. (

...