ピア デバイスによって WiFi 接続がオフになったときにトリガーされるイベントは何ですか。ホスト デバイスが onConnectionStateChange() などのコールバックを取得する方法はありますか?
1189 次
3 に答える
2
この例はあなたのニーズに合っています。
あなたが探しているのは、コールブロードキャストレシーバーです。基本的に、いくつかのアクションでメッセージを受信するカスタム ブロードキャスト レシーバーを作成します。これらのアクションをインテント フィルタで定義します。
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
次に、このインテント フィルターにレシーバーを登録します。
registerReceiver(wifiWatcher, intentFilter);
レシーバーは onReceive メソッドを実装します。
public void onReceive( Context context, Intent intent )
以下を使用して、この onReceive メソッドの接続を確認する必要があります。
ConnectivityManager conMngr = (ConnectivityManager)this.getSystemService(this.CONNECTIVITY_SERVICE);
android.net.NetworkInfo wifi = conMngr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
android.net.NetworkInfo mobile = conMngr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
そのためには、これらのアクセス許可をマニフェストに追加する必要があります。
<user-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<user-permission android:name="android.permission.ACCESS_WIFI_STATE" />
それが役立つことを願っています。
于 2013-03-12T14:35:30.630 に答える
0
システムは、ブロードキャストを次のようにトリガーします。
"android.net.wifi.WIFI_STATE_CHANGED"
"android.net.wifi.STATE_CHANGE"
この回答をチェックして、BroadcastReceiver でキャプチャする方法を確認してください: BroadcastReceiver when wifi or 3g network state changed
于 2013-03-12T14:34:03.307 に答える
0
ブロードキャスト レシーバーを登録する必要があります。サンプル プロジェクトNetworkUsage Sampleを参照してください。com.example.android.networkusage;
于 2013-03-12T14:37:57.783 に答える