当程序执行第4行(以“for(枚举…”开头),它立即跳转到异常捕获部分.异常没有消息,对于字符串,ex.getMessage()返回null.异常编号是830034796568(十进制).
这是代码.如上所述,一年前这种方法运作良好.
谢谢你的帮助!
public String getLocalipAddress() { String address= null; try { for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) { NetworkInterface intf = en.nextElement(); for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) { InetAddress inetAddress = enumIpAddr.nextElement(); address = new String(inetAddress.getHostAddress().toString()); if (!inetAddress.isLoopbackAddress() && address.length() < 18) { return inetAddress.getHostAddress().toString(); } } } } catch (SocketException ex) { String msg = ex.getMessage(); //do nothing } return null;}解决方法 只是为了澄清一个完整的答案.
NetworkInterface.getNetworkInterfaces()
如果应用程序在AndroIDManifest.xml中缺少此权限,则抛出SocketException
<uses-permission androID:name="androID.permission.INTERNET" />
在我的测试中(在AndroID 4.4.2上),可以跳过androID.permission.ACCESS_NETWORK_STATE.
总结以上是内存溢出为你收集整理的android – NetworkInterface.getNetworkInterfaces()抛出带有空消息字符串的异常全部内容,希望文章能够帮你解决android – NetworkInterface.getNetworkInterfaces()抛出带有空消息字符串的异常所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)