无法在Android 26上发送DatagramPacket可以使用其他Android版本

问题描述

我有一个接收器应用程序正在收听SSDP广播。以及发送UDP / SSDP广播的发送方应用程序。相同的发件人代码在Android 29(AVD)和Android 23(AVD)上有效,但在Android 26(AVD)或Android 26(实际设备)上无效。没有收到数据包。我使用非常标准的DatagramSocket和DatagramPacket'hello world'代码,请按照以下步骤操作:

  1. 新的DatagramSocket(null)。
  2. setReuseAddress(true)。
  3. setbroadcast(true)。
  4. 套接字绑定到端口1900。
  5. 创建数据包,以239.255.255.250作为广播地址。
  6. 发送数据包。

我在清单中具有INTERNET权限。接收器应用程序可以正常接收数据包,但从奥利奥设备发送时除外。我未在代码中指定WiFi网络,因为Android在可用的情况下会通过4G使用WiFi。

是否存在特定于Oreo(或其他设备)的东西才能使UDP数据报广播正常工作?

编辑:我最近更新到了Android Studio 4.1。以前的代码是有效的。预先感谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)