2016-12-08 4 views
0

Xamarin.iOSとXamarin.Androidプロジェクトで使用されているPCLプロジェクトでインターネット接続を確認しようとしています。 WebClientをPCLで使用することはできませんが、私はWebClientを使用しない満足のいく解決策を見つけることができませんでした。私が使用したいコードは次のとおりです。C#:PCLプロジェクトのインターネットアクセスを確認する方法

try 
{ 
    using (var client = new WebClient()) 
    { 
     using (var stream = client.OpenRead("http://www.google.com")) 
     { 
      return true; 
     } 
    } 
} 
catch 
{ 
    return false; 
} 

誰もが同様に簡単な良い解決法を知っていますか?

答えて

2

最も簡単な方法は、ジェームズMontemagnoから接続プラグインを使用することです:あなたが呼び出して、これをインストール

https://github.com/jamesmontemagno/ConnectivityPlugin

​​

をごPCLから。イベントに登録して、接続がいつ変更されたかを確認することもできます。

CrossConnectivity.Current.ConnectivityChanged += <handler> 

これはiOSとAndroidで動作します。ジェームズMontemagnoによる相互接続性プラグインを使用して

+0

私はPCLでプラグインを実装しようとすると、私は、この未処理の例外を取得: 「System.NotImplementedException:この機能は、このアセンブリのポータブル版では実装されていません。プラットフォーム固有の実装を参照するには、メインアプリケーションプロジェクトからNuGetパッケージを参照する必要があります。私はそのアドバイスに従って、プラットフォーム固有のプロジェクトごとに個別に実装しました。 – Jonathan

+0

ありがとう@JimBobBennet!私はあなたが私の人生を救ったかもしれないと思う... – Jonathan

+1

喜んでそれは働いていて、私に感謝しない - ジェームズMontemagnoに感謝 - 彼のプラグインは素晴らしいです! – JimBobBennett

-2

+0

11ヶ月前にあなたがちょうど言ったことを正確に言っている受け入れられた答えがあります。 – louisfischer

関連する問題