Могу ли я программно включать и выключать Wi-Fi Windows Phone 8.1?

1

Могу ли я программно включать и отключать WiFi на Windows Phone 8.1?

Если да, то как включить или отключить Wi-Fi на С#?

Собственно, я уже делаю это на другой платформе:

<DllImport("coredll.dll")> Public Shared Function DevicePowerNotify(ByVal device As String, ByVal state As CEDEVICE_POWER_STATE, ByVal flags As Integer) As Integer  
End Function  

<DllImport("coredll.dll")> Public Shared Function SetDevicePower( _  
ByVal pvDevice As String, _  
ByVal df As Integer, _  
ByVal ds As CEDEVICE_POWER_STATE) As Integer  
End Function  

Public Shared Sub wifi_power_on()  
    Try  
        DevicePowerNotify("{98C5250D-C29A-4985-AE5F-AFE5367E5006}\cardname", CEDEVICE_POWER_STATE.D0, 1)  
        SetDevicePower("{98C5250D-C29A-4985-AE5F-AFE5367E5006}\cardname", 1, CEDEVICE_POWER_STATE.D0)  
        Application.DoEvents()  
    Catch  
    End Try  

End Sub  

Public Shared Sub wifi_power_off()  
    Try  
        DevicePowerNotify("{98C5250D-C29A-4985-AE5F-AFE5367E5006}\cardname", CEDEVICE_POWER_STATE.D4, 1)  
        SetDevicePower("{98C5250D-C29A-4985-AE5F-AFE5367E5006}\cardname", 1, CEDEVICE_POWER_STATE.D4)  
        Application.DoEvents()  
    Catch  
    End Try  
End Sub 

Но в Wondows Phone 8.1, я не знаю, как сделать то же самое в С# на этот раз.

Боюсь, это не поддержка так же?

Это то, что я попробовал на С#:

    [DllImport("coredll.dll")]
    public static extern int DevicePowerNotify(string device, CEDEVICE_POWER_STATE state, int flags);

    [DllImport("coredll.dll")]
    public static extern int SetDevicePower(string pvDevice, int df, CEDEVICE_POWER_STATE ds);

    public static void wifi_power_on()
    {
        try
        {
            DevicePowerNotify("{98C5250D-C29A-4985-AE5F-AFE5367E5006}\\cardName", CEDEVICE_POWER_STATE.D0, 1);
            SetDevicePower("{98C5250D-C29A-4985-AE5F-AFE5367E5006}\\cardName", 1, CEDEVICE_POWER_STATE.D0);
            Application.DoEvents();
        }
        catch
        {
        }

    }

    public static void wifi_power_off()
    {
        try
        {
            DevicePowerNotify("{98C5250D-C29A-4985-AE5F-AFE5367E5006}\\cardName", CEDEVICE_POWER_STATE.D4, 1);
            SetDevicePower("{98C5250D-C29A-4985-AE5F-AFE5367E5006}\\cardName", 1, CEDEVICE_POWER_STATE.D4);
            Application.DoEvents();
        }
        catch
        {
        }
    }
  • 0
    Можем ли мы посмотреть, что вы пытались? кажется, что вы хотите, чтобы сообщество сделало вашу работу. Но так как я считаю, что вы не планируете делиться с нами своей зарплатой, я считаю это довольно грубо.
  • 0
    @gdoron - здесь не применимо. Это правильный вопрос "Как?"
Показать ещё 6 комментариев
Теги:
mobile
windows-phone-8.1

1 ответ

1
Лучший ответ

В Windows Phone (все версии от 7.0 до текущего 8.1) вы не можете программно отключать или отключать WiFi. Это связано с тем, что платформа постоянно сохраняет эти настройки в пользовательском элементе управления.

Самое близкое, что вы можете получить, - это программно запустить страницу настроек WiFi, в которой пользователь может изменить настройку:

await Launcher.LaunchUriAsync(new Uri("ms-settings-wifi:"));
  • 0
    спасибо за Ваш ответ :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню