我正在以编程方式在应用程序中创建WiFi AP。当新设备连接到我的AP时,我会收到广播吗?

我知道我们可以从/proc/net/arp 获取已连接设备的列表,但是当有新连接时我需要回调。

任何帮助表示赞赏。

最佳答案

如果您不需要使用AP连接互联网而只是在局域网中进行通信,您可以使用WifiP2pManager实例createGroup创建一个P2P组并使用广播接收器收听WifiP2pManager.WIFI_P2P_CONNECTION_CHANGED_ACTION。

像这样:

if (WifiP2pManager.WIFI_P2P_CONNECTION_CHANGED_ACTION.equals(action)){
     NetworkInfo networkInfo = intent.getParcelableExtra(WifiP2pManager.EXTRA_NETWORK_INFO);

    if (networkInfo.isConnected()) {
        Manager.requestConnectionInfo(mChannel, new WifiP2pManager.ConnectionInfoListener(){

                @Override
                public void onConnectionInfoAvailable(final WifiP2pInfo info) {
                   if (info.isGroupOwner) {
                       mManager.requestGroupInfo(mChannel, new WifiP2pManager.GroupInfoListener() {

                            @Override
                            public void onGroupInfoAvailable(WifiP2pGroup group) {
                                //This is the size you want
                                group.getClientList().size();
                            }
                       });
                   }
               }
        });
     }
}

更多细节请看:
http://developer.android.com/guide/topics/connectivity/wifip2p.html

10-04 19:27