2

意図の高いデバイスがグループ所有者になることは、次のリンクで述べられています 。 %2Fwi-fi_direct_connectivity.htm

wifi-directのgoogle-demoプロジェクトで以下を試してみました。ブロードキャスト レシーバーが呼び出されたメイン アクティビティ クラスでは、1 つのデバイスで実行しながら、次のように優先度を設定しました。

public void onResume() {
    super.onResume();
    receiver = new WiFiDirectBroadcastReceiver(manager, channel, this);
    intentFilter.setPriority(999);
    registerReceiver(receiver, intentFilter);
}

次のデバイスでコードを実行している間、優先度を設定しませんでした。

public void onResume() {
    super.onResume();
    receiver = new WiFiDirectBroadcastReceiver(manager, channel, this);        
    registerReceiver(receiver, intentFilter);
}

したがって、リンクによると、優先度の高いデバイスがグループの所有者である必要がありますが、優先度の設定が機能していないようです。2 つのデバイス間で接続が確立されている間に、特定のデバイスをグループ所有者として明示的に割り当てる方法はありますか?

4

3 に答える 3

5

connect メソッドで WifiP2pConfig オブジェクトの groupOwnerIntent を設定します。値の範囲は 0 ~ 15 です。0 は GO になる傾向が最も少ないことを示し、15 は GO になる傾向が最も高いことを示します。

WifiP2pConfig config = 新しい WifiP2pConfig();

    config.groupOwnerIntent = 0;  //Less probability to become the GO
    config.deviceAddress = service.device.deviceAddress;
    config.wps.setup = WpsInfo.PBC;
于 2013-06-10T15:32:52.170 に答える
3

まず、あなたが提供したリンクはバダ電話用です。そのオペレーティング システムについてはよくわかりませんが、割り当てが異なる可能性があります。

とにかく、必要なデバイスにインテント値を手動で割り当てることができます。たとえば、接続ボタンをクリックしたユーザーをグループ所有者として設定したいとします。定義により、グループ オーナーは最大の傾きを持つ必要があります。これは 0 より大きいことを意味します。このリンクを確認してください。

ピアをグループ オーナーとして割り当てるには、単純に 15 に割り当てます

config.groupOwnerIntent = 15;
于 2012-11-14T19:35:25.520 に答える