2016-06-22 13 views

答えて

0

一般に、UWPアプリケーションは、実行中の他のアプリケーションを妨害する可能性のあるグローバル設定や設定を変更するアクセス権を持っていません。ネットワークの状態を検出したい場合は、クラスNetworkInformationで行うことができます。デバイスラジオの制御は、OEMおよび通信事業者が利用できますが、他の開発者は利用できません。

WiFiAdapterクラスにアクセスできる人は、デバイスのすべてのWiFiアダプタを列挙し、プログラムで接続または切断することができます。アダプターはFindAllAdaptersAsyncで列挙されています。このメソッドを呼び出すには、wifiControl機能が必要です。名前空間Windows.Devices.Radiosには、他のラジオ関連の機能がいくつかあります。

一部のAPIへのアクセスは、開発に使用しているアカウントの種類によって制限されます。詳細については、Microsoftのdocumentation on Account Typesを参照してください。

1

UWPでは、は、にWiFiを有効にしてください。または任意の他の装置。 ベストプラクティスは、URI Launcehrを使用して、Wi-Fiを有効にするためにWiFi設定に移動することです。無線LANが有効になっている場合は

await Launcher.LaunchUriAsync(new Uri("ms-settings:network-wifi")); 

、あなたはWindows.Devices.WiFi.WiFiAdapterからアクセスすることができます。

しかし、その前に、あなたはPackage.appxmanifestファイルに必要なデバイス機能を追加する必要があります - ファイルを右クリック - >とオープン - > XML(テキスト)エディタ)と、以下のデバイス機能の追加:

var access = await Windows.Devices.WiFi.WiFiAdapter.RequestAccessAsync(); 
if(access == Windows.Devices.WiFi.WiFiAccessStatus.Allowed) 
{ 
    var result = await Windows.Devices.Enumeration.DeviceInformation.FindAllAsync(
     Windows.Devices.WiFi.WiFiAdapter.GetDeviceSelector()); 
    if(result.Count >= 1) 
    { 
     Windows.Devices.WiFi.WiFiAdapter firstAdapter = 
      await Windows.Devices.WiFi.WiFiAdapter.FromIdAsync(result[0].Id); 
     await firstAdapter.ScanAsync(); 
    } 
} 

より:here

<Capabilities> 
    <Capability Name="internetClient" /> 
    <!-- Add the capability here --> 
    <DeviceCapability Name="wifiControl" /> 
</Capabilities> 

その後は、プログラムによってこのようにWiFiアダプターにアクセスすることができます。

関連する問題