2017-05-19 3 views
-1

Androidからwifi p2pを使用して2つのデバイスを接続しています。私は、接続が確立されたときに、両方のデバイスがお互いの名前を知る方法があるかどうかを知りたいと思います。デバイスが接続要求を開始しているときは、リストからピアを選択して名前を表示するので、簡単です。質問は、接続要求を受け取るデバイスに焦点を当てています!AndroidでWifiP2Pを使用してPEERのデバイス名を取得する

初めて接続しようとすると、接続を受け入れるピアの名前がポップアップ表示されるので、これは可能であると思います。しかし、私はアプリをプログラミングするときにこの情報がどこにあるのかわかりません。

私はNetworkInfo(状態の変更を受け取ったとき)かWifiP2pInfo(接続情報が利用可能なとき)のどちらかに格納しなければならないと思います。

答えて

0

requestConnectionInfo方法はあなたがAPIレベル18以上である場合は、WIFI_P2P_CONNECTION_CHANGED_ACTION放送を受信すると、接続が

wifiManager.requestConnectionInfo(wifichannel, new WifiP2pManager.ConnectionInfoListener() { 
     @Override 
     public void onConnectionInfoAvailable(WifiP2pInfo info) { 
     //by info you can get host address and isGroupowner or else information you to 
implement your code after this 
} 
+0

私はその機能をすでに持っていますが、必要な情報はWifiP2pInfoから取得する必要があります。しかし私はWifiP2pInfoのどの属性が私にそれを与えるのか分かりません。 WifiP2pInfoのフィールドは、groupFormed、groupOwnerAddress、およびisGroupOwnerです。ピアに関する情報はありません。 – BlueMountain

+0

ホストアドレスまたは自分のアドレスを入力してください。 –

+0

ピア名が必要です。しかし、それができないなら、住所は問題ありません。 – BlueMountain

2

以下のように行われた後に、単純にこれを実装する接続deivceに関するすべての情報を取得することができ、このことですEXTRA_WIFI_P2P_GROUPという特別な意味があります。

EXTRA_WIFI_P2P_GROUP

これはgetClientList()を呼び出すことができますどのWifiP2pGroupを返します。これはWifiP2pデバイスのコレクションを提供します。 WifiP2pDeviceを取得したら、単に "deviceName"フィールドを取得できます。

関連する問題