问题描述
在 Android 中,当连接到 wifi 连接的东西时,并通过与此 AP 的编程连接,我无法实现 setonUDPResponseResultListener 调用,而当我从 android 首选项“手动”连接时可以调用。
>我的 UDP 响应侦听器:
private void setUDPAccept() {
mSocketManager.setUDPAccept(UDP_PORT,UDP_broADCAST);
mSocketManager.setonUDPResponseResultListener(new OnUDPResponseResultListener() {
@Override
public void onUDPResponseResult(String udpIP,String udpPort) {
Log.d(TAG,"onUDPResponseResult");
deviceIP = udpIP;
}
});
}
以编程方式连接到 AP 的方式:
val connectivityManager = mContext.applicationContext.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
val specifier = WifiNetworkSpecifier.Builder().setBssid(MacAddress.fromString(data.getBssid()!!)).build()
val networkRequest = NetworkRequest.Builder()
.addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
.removeCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) // as not internet connection is required for this device
.setNetworkSpecifier(specifier)
.build()
val networkCallback = object : ConnectivityManager.NetworkCallback() {
override fun onAvailable(network: Network) {
super.onAvailable(network)
Log.d(TAG,"connect to WiFi success. Network is available.")
setUDPAccept()
}
override fun onUnavailable() {
super.onUnavailable()
Log.d(TAG,"connect to WiFi Failed. Network is unavailable")
}
}
connectivityManager.requestNetwork(networkRequest,networkCallback)
您是否知道如何使 setonUDPResponseResultListener 触发,即使 wifi AP 以编程方式连接?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)