接続ステータスの特定と監視
接続ステータスの特定と監視
重複アラームとバックグラウンドサービスの最も一般的な用途は、インターネットリソースの手配、キャッシュ内のデータの作成、またはダウンロードを長時間実行するアプリケーションデータの定期的な更新です.しかし、インターネットに接続していないか、接続速度が遅すぎてダウンロードが完了している場合は、なぜデバイスをすべての計画で更新するように起動しますか?
インターネット接続がある場合は
インターネットに接続していない場合は、インターネットベースのリソースの更新を手配する必要がありますか?次のコード・スライスは、
また、現在使用可能なインターネット接続のタイプを検出することもできます.
提供可能なデータ、WiMAX、モバイルWi-Fi、イーサネット接続デバイス接続.アクティブなネットワーククエリのタイプにより、次の図に示すように、リフレッシュ率に基づいて使用可能な帯域幅を変更できます.
更新を行うには、インターネット接続が確立された接続の変更を復元することが重要です.
モニタの接続の変更
の
このテクノロジーでは、次のレッスンでdeclardのリストにあるブロードキャスト受信機を切り替える必要があります.
重複アラームとバックグラウンドサービスの最も一般的な用途は、インターネットリソースの手配、キャッシュ内のデータの作成、またはダウンロードを長時間実行するアプリケーションデータの定期的な更新です.しかし、インターネットに接続していないか、接続速度が遅すぎてダウンロードが完了している場合は、なぜデバイスをすべての計画で更新するように起動しますか?
ConnectivityManager
を使用して、実際にインターネットに接続されている場合、どのような接続場所なのかを確認できます.インターネット接続がある場合は
インターネットに接続していない場合は、インターネットベースのリソースの更新を手配する必要がありますか?次のコード・スライスは、
ConnectivityManager
の使用方法を示しています. アクティブなネットワークを検索し、インターネット接続があるかどうかを確認します.ConnectivityManager cm =
(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = activeNetwork.isConnectedOrConnecting();
インターネット接続タイプの確認また、現在使用可能なインターネット接続のタイプを検出することもできます.
提供可能なデータ、WiMAX、モバイルWi-Fi、イーサネット接続デバイス接続.アクティブなネットワーククエリのタイプにより、次の図に示すように、リフレッシュ率に基づいて使用可能な帯域幅を変更できます.
boolean isWiFi = activeNetwork.getType() == ConnectivityManager.TYPE_WIFI;
モバイル・データのコストは、ワイヤレス・ネットワーク接続よりも大幅に高い場合が多いため、ほとんどの場合、アプリケーションの更新率を低下させる必要があります.同様に、Wi-Fi接続があるまで、ダウンロードの顕著なサイズは一時停止する必要があります.更新を行うには、インターネット接続が確立された接続の変更を復元することが重要です.
モニタの接続の変更
の
ConnectivityManager
がCONNECTIVITY_ACTION
(の“android.net.conn.CONNECTIVITY_CHANGE”
)接続の詳細を放送すると、すでに行動が変更されています.これらの変更とリカバリ(または一時停止)のバックグラウンド更新を聞いて、リストにブロードキャスト受信機を登録することができます.<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
デバイスの接続を変更することは、非常に頻繁なブロードキャストトリガが移動するたびにデータとワイヤレスネットワークの接続を移動させることができる.そのため、これは良い方法で、監視放送は、以前に更新やダウンロードを一時停止して、彼らを回復するためにしかありません.一般的には、インターネット接続を簡単にチェックするのに十分であり、更新を開始する前に、接続が回復するまで、さらなる更新が一時的に停止されます.このテクノロジーでは、次のレッスンでdeclardのリストにあるブロードキャスト受信機を切り替える必要があります.