android:设备屏幕关闭时接收udp广播

时间:2016-11-21 16:28:29

标签: android udp broadcast

我的服务收到udp消息。此代码始终有效:

InetSocketAddress inetSocketAddress = new InetSocketAddress(InetAddress.getByName(myIpAddress), udpPort);
DatagramSocket socket = new DatagramSocket(null);
socket.setReuseAddress(true);
socket.bind(inetSocketAddress);

只要其他设备将udp消息发送到myIpAddress,我的服务就会收到它们。它始终有效,即使设备关闭(屏幕关闭,未关闭)。

以下代码仅在设备屏幕开启时有效:

InetSocketAddress inetSocketAddress = new InetSocketAddress(InetAddress.getByName("255.255.255.255"), udpPort);
DatagramSocket socket = new DatagramSocket(null);
socket.setReuseAddress(true);
socket.bind(inetSocketAddress);

如果设备处于非活动状态(屏幕关闭),则服务仍会运行,但不会收到udp消息。我认为,Android会阻止广播消息在设备处于非活动状态时接收它们。无论如何都有可能收到它们吗?

0 个答案:

没有答案