在Android上... 给定一组活动套接字(< 10), 我的广播接收器从ConnectivityManager获取意图 表示连接状态已更改。 如何将意图与受影响的套接字关联起来?
我可以从意图中获取NetworkInfo。
final ConnectivityManager cm =
(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
final NetworkInfo netinfo =
ConnectivityManagerCompat.getNetworkInfoFromBroadcast(cm, aIntent);
这给了我接口类型。 我也可以使用socket来获取NetworkInterface。
final InetAddress sourceAddr = socket.getLocalAddress();
final NetworkInterface ninterface =
NetworkInterface.getByInetAddress(sourceAddr);
但我认为没办法从这里开始。
有没有办法让NetworkInfo与套接字关联?
我正在考虑手动构建映射 接口名称和网络类型之间。 这种映射将加载固化初始化。 这基本上是我在运行ip或netstat命令时可视化的。