2016-05-20 4 views
2

私はonReceive()アンドロイド:イベントを無効にする無線LAN P2P(無効になっていない)

WifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION 

アクションのための受信機を登録し、私はこのアクションを取得し、

case WifiP2pManager.WIFI_P2P_STATE_ENABLED: 

    case WifiP2pManager.WIFI_P2P_STATE_DISABLED: 

この2例にEXTRA_WIFI_STATEを比較しかし、私は、 WifiP2pManagerのいくつかのメソッドを呼び出すために、Wifiがいつ無効になるが、まだ無効にされていないかを知る必要があります。私はそれ以外の場合は失敗し、サービスが削除されていない、無線LANが無効になっている前

manager.clearLocalServices 

を呼び出す必要があります。 「無効にする」イベントを取得するにはどうすればよいですか?

+0

私は、Wi-Fiが無効になったときにサービスが削除されることを観察しました。 – p2pkit

+0

他の周辺のデバイスで引き続き表示される理由 – user3290180

+0

Wi-Fiが有効になっているときにサービスをクリアすると、他のユーザーはWi-Fiが表示されなくなったときに停止します。これが私が "無効にする"イベントを傍受しなければならない理由です – user3290180

答えて

0

ここでは誤解があると思います。 Wi-Fi Directを使用するほとんどのアプリでピアを検索し、利用可能なピアのリストを維持します。

しかし、ピアがもはや利用できなくなったときに実装を削除しないことがよくあります。 WifiP2pManager.WIFI_P2P_STATE_DISABLEDが定義されている場合、そのデバイスは他のピアで使用できなくなります。だから、デバイスがまだ利用可能だと思うどんな同輩も、おそらく単に "利用可能な"ピアのリストを更新していない、つまり彼らがまだ利用可能なデバイスをチェックしていない可能性があります。

実際の動作を確認するには、状態がWIFI_P2P_STATE_DISABLEDに変更された後にデバイスを検索してください。このイベントの後も同僚があなたのデバイスを見つけることができれば、Androidの実装には基本的なバグがあります。

関連する問題