0

ワイヤレスアクティビティを使用してアプリケーションを開発しています。WLAN(無線LAN)を使用してインターネットを操作する必要があり、Bluetoothアクティビティは常に機能する必要があります。

ここで、Wi-Fi/Bluetoothデバイスがカバレッジエリア外として問題が発生することがあります。私はこれについての知識なしで働きました、そして、プロセスを提出している間、私はインターネットが利用できないことを知るようになりました。

アプリケーションで処理している間、毎回データを更新する必要があります。プログラムまたはアプリケーションにWi-Fi/Bluetooth Streangth通知が埋め込まれている場合、Wi-fi /BluetoothStreangthが低くなったかどうかを知ることができます。

この問題を解決するのを手伝ってください。ありがとうございました..

4

2 に答える 2

3

WiFiが接続されているかどうかを確認する方法を尋ねていると思います。接続されている場合は、ConnectivityManagerを使用できます

ConnectivityManager conman = (ConnectivityManager)
     getSystemService(CONNECTIVITY_SERVICE);
NetworkInfo wifi = conman.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

if(wifi.isConnected()) {
   // yay! your connected
}

上記をバックグラウンドで実行するには、バックグラウンドで実行され、アクティビティと通信するサービスに上記を実装できます。バックグラウンド サービスの使用を開始するのに役立つ例については、こちらを参照してください。

http://android-codes-examples.blogspot.co.uk/2011/11/running-service-in-background-on.html

サービスでは、最初にアプリケーション コンテキストを取得する必要があるため、次の方法で ConnectivityManager を取得する必要があります。

ConnectivityManager conman = (ConnectivityManager)
     getApplicationContext().getgetSystemService(CONNECTIVITY_SERVICE);
于 2012-12-06T12:19:14.083 に答える
0

@JustDanyul によると、if ステートメントの代わりに while ループを使用して接続を常にチェックするように変更するだけで、インターネットに接続している間はアプリが 1 つのことを行い、切断された場合は別のことを行うことができます。

于 2012-12-06T12:33:42.320 に答える