问题分析
当违背安全原则,检测到安全错误时会抛出此类异常。
解决方案
当违背安全原则,检测到安全错误时会抛出此类异常。具体原因需要看给出的相应的其他信息并获取相应权限。
示例
Caused by: java.lang.SecurityException: Permission denied (missing INTERNET permission?)
at java.net.InetAddress.lookupHostByName(InetAddress.java:430)
at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
at java.net.InetAddress.getAllByName(InetAddress.java:214)
at libcore.net.http.HttpConnection.<init>(HttpConnection.java:70)
at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)
at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:340)
at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)
at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:316)
问题分析:
因为没有获取到访问网络权限,因此抛出此类异常。
解决方案:
因为没有获取到访问网络权限而抛出此类异常。需要检查AndroidManifest.xml
文件是否获取权限,检查手机是否有限制权限的软件如管家等并打开权限。
代码示例
在AndroidManifest.xml
中使用网络权限。
<uses-permissionandroid:name="android.permission.INTERNET"/>
因为在这个例子中使用HTTPUrlConnection类,根据官方文档还需要申请检测网络状态的权限。
<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/>
如果还是报这个异常,请确认手机中没有其他软件管家控制网络权限没有授权。
参考文献
文档内容是否对您有帮助?