gpt4 book ai didi

android - 如何在android上实现类似 "Printer Discover"的服务发现?

转载 作者:太空狗 更新时间:2023-10-29 15:49:28 25 4
gpt4 key购买 nike

我想了解 android 支持的“服务发现”机制 - 特别是打印机发现。

android 是否提供这样的发现选项?示例:是否支持 snmp 广播?

我尝试了一个应用程序“PrinterShare”链接:http://www.printeranywhere.com/mobile.sdf其中 Printer Discovery 是通过 ipp 实现的。

感谢任何帮助。

最佳答案

Roy,我遇到了和你一样的问题,甚至在实际设备上运行该代码 fragment 时出现了相同的行为(独立运行代码,而不是在 android 中,运行良好)。我找到了 this page并通过使用以下内容计算出广播 IP(而不是 239.255.255.250)使其正常工作,尽管仅在设备上:

InetAddress getBroadcastAddress() throws IOException {
WifiManager wifi = mContext.getSystemService(Context.WIFI_SERVICE);
DhcpInfo dhcp = wifi.getDhcpInfo();
// handle null somehow

int broadcast = (dhcp.ipAddress & dhcp.netmask) | ~dhcp.netmask;
byte[] quads = new byte[4];
for (int k = 0; k < 4; k++)
quads[k] = (byte) ((broadcast >> k * 8) & 0xFF);
return InetAddress.getByAddress(quads);
}

希望对您有所帮助:)

关于android - 如何在android上实现类似 "Printer Discover"的服务发现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3914191/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com