android - 在连接到 Wifi 热点的设备上回调

标签 android wifi android-wifi

我正在我的应用程序中以编程方式创建 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

关于android - 在连接到 Wifi 热点的设备上回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18378143/

相关文章:

android - 如何在不更改版本代码的情况下在 Android Market 上更新我的应用程序

java - 错误 : Android Gradle plugin requires Java 11 to run. 您当前使用的是 Java 1.8。 -& 应用插件失败 'com.android.internal.application'

java - Android 检查下载的文件是否存在

android - 使用 WAKE_LOCK 停止服务

java - 自 Android Nougat 以来不再能够连接到 Wi-Fi 网络

arduino - ESP8266 返回垃圾值

iphone - 使用 3G 连接时 ASIHTTPRequest 参数出现问题(使用 Wifi 时正常)

Java CryptUnprotectData Windows WiFi 密码

android - 如何使用 adb 命令验证 WIFI 唤醒锁

java - 如何使用 Android 2.36 (Gingerbread) 开发/编码 WIFI Direct?