Как получить текущий тип подключения к данным (3G, Edge, Gprs) в Microsoft .NET Compact Framework? - PullRequest
2 голосов
/ 27 мая 2011

Я занимаюсь разработкой мобильных приложений с использованием Microsoft .NET 3.5 Compact Framework.

Мне необходимо периодически проверять наличие соединения для передачи данных (3G, Edge или Gprs).

Могу ли я получить эту информацию через .NET CF API?

1 Ответ

2 голосов
/ 28 мая 2011

Вы можете сделать это без периодической проверки, пространство имен Microsoft.WindowsMobile.Status позволяет подписаться на определенные свойства, связанные с подключением к данным устройства. Установив подписку SystemState, вы можете назначать события при изменении соединения:

using Microsoft.WindowsMobile.Status;

    public void OnLoad()
    {
        var connectionState = new SystemState(SystemProperty.ConnectionsCellularCount);
        connectionState.Changed += (o, s) =>
            {
                if (SystemState.CellularSystemConnectedHsdpa)
                {
                    // show 3G Icon
                }
                else if (SystemState.CellularSystemConnectedGprs)
                {
                    // show GPRS Icon
                }
                else if (SystemState.CellularSystemConnectedEdge)
                {
                    // show Edge Icon
                }
            };
    }
...