パッケージが増えたので、少し調べてみました。必要なパーミッションandroid.permission.ACCESS_WIFI_STATEandroid.permission.CHANGE_WIFI_STATEレシーバーWiFiダイレクトでは、いくつかの情報が暗黙的Intentとして飛んできます。そのため、BroadcastReceiverを使って適宜アクションを受信する必要があります。受信するactionはWifiP2pManagerに定義されています。して以下を記述するといいよとのこと。...</manifest>また、WiFiダイレクトは通常のWiFiと排他なので、端末がWiFiのAPに接続してしまうと、自動でOFFられてしまいます。アプリ起動中はWiFiに繋がないようですが、一方がアプリ起動してなかったりするとOFFられてたりするので注意が必要です。初期化ActivityのonCreat()あたりで、以下のように呼び出します。null);WiFiダイレクトを利用するアプリでは、初めに初期化を呼び出す必要があります。listener)Looperにはコールバックの返るスレッドを指定できます。基本UIスレッドへ返ってほしいと思うので、getMainLooper()でOKです。渡したLooperが、Channelの持っているHandlerにバインドされるというだけです。ChannelListenerは接続情報(切断時)のリスナーが用意されています。コールバックは、再初期化したい場合に利用できるようです。必要なければnullで構いません。Channelはアプリ終了までいろんなとこで使用するので、保持しておかないとイカンです。レシーバーを動かす常駐したいならAndroidManifest.xmlにいつも通り定義してください。ApplicationやActivityに結び付けたいのであれば、以下のようにして起動させます。filter);止めるときはunregisterReceiver(mReceiver);付近の端末を検索する近くにある端末の検索を開始します。発見される端末は、WiFiダイレクトがONになっている端末です。このメソッドは結果を返さず、渡したチャンネルについて検索を開始するだけです。2つが定義されていて、実行の成否が返ります。(後者の場合はエラーコードのようであまり役立たない何かが返ってきます。)検索結果はメソッドが返さないので、BroadcastReceiverで受信する必要があります。受信して、以下のように処理できます。引数peersが検索された端末のリストにあたる。}}なかなか遠回りになりますが、こんな感じです。以降の処理をしてあげるのがいいと思います。メソッドのみが定義されていて、WifiP2pDeviceのコレクションが取得できるようになっています。端末に接続する端末に接続する方法です。WifiP2pDeviceインスタンスを持っていなくても、WiFiダイレクトがONになっている端末のMacアドレスがわかっていれば接続できるようです。}});WifiP2pDeviceListから直接取得しちゃってますが、ユーザーに選択させる場合はListViewなりを活用してください。例によって、ActionListenerはnullでも問題ありません。成否のコールバックがありますが、この時点では接続できていないことに注意してください。接続が確立されるまでの間、端末同士はINVITEという状態になります。listener)接続時に重要なのが、2番目のWifiP2pConfigです。この引数は、どの端末へ、どういった接続方法を取るかを指定できます。いっても、Macアドレスさえ指定してやれば接続できます。接続時に相手にどういった通知がされるかを選択できます。GNではPBCになりました)PIN-DISPLAY自分の端末にランダムで生成されるPINコードが表示され、相手端末にPINコード入力用のダイアログが表示される相手端末がどのWPSに対応しているかは、WifiP2pDeviceのパラメータとしてあらかじめ確認できます。取得できる自分の端末情報には記載されません。(falseになる)相手から見るとtrueになるので、そういう仕様っぽいです。WiFiダイレクトで接続すると、グループというものが生成されますが、このグループのオーナーは自動的に決まるようです。グループ作れんのかな?と思ったけど、そこに参加できませんでした。́・ω:;.:...切断する端末間の接続をやめる場合、端末の状態によって呼び出すメソッドが変わります。状態というのは、WifiP2pDeviceのstatusのことです。listener)引数は同じです。呼び出すと切断処理が開始されます。INVITEDの場合はまだ接続参加処理中なので、中止してくれるようにします。́・ω・`)その場合は落ち着いてWiFiダイレクトをOFFってやればいいと思います。ここまでが接続~切断までの流れです。次があれば接続してからの処理について書くと思います。