我试图在Android中使用HttpURLConnection访问HTTP链接来下载文件,但我在LogCat中得到这个警告:
WARN/System.err(223): java.net.SocketException:权限被拒绝(可能缺少INTERNET权限)
我已经添加了android.Manifest.permission到我的应用程序,但它仍然给出相同的异常。
我试图在Android中使用HttpURLConnection访问HTTP链接来下载文件,但我在LogCat中得到这个警告:
WARN/System.err(223): java.net.SocketException:权限被拒绝(可能缺少INTERNET权限)
我已经添加了android.Manifest.permission到我的应用程序,但它仍然给出相同的异常。
当前回答
将以下行复制到应用程序清单文件中,并粘贴在<application>标记之前。
<uses-permission android:name="android.permission.INTERNET"/>
将权限放在<application/>标记下面可以工作,但会给您警告。所以要注意将它放在<application/>标记声明之前。
其他回答
假设你没有从你的LogCat错误描述设置权限,这是我的AndroidManifest.xml文件的内容,可以访问互联网:
<manifest xlmns:android...>
...
<uses-permission android:name="android.permission.INTERNET" />
<application ...
</manifest>
除此之外,你应该可以从网上下载一个文件。
权限名称区分大小写
为了防止别人遇到同样的问题,这是区分大小写的语句,所以错误的大小写意味着你的应用程序将无法获得许可。
错误的
<uses-permission android:name="ANDROID.PERMISSION.INTERNET" />
正确的
<uses-permission android:name="android.permission.INTERNET" />
这个问题可能会发生。在IDE中自动完成
如果你正在使用Android Studio,请将鼠标悬停在需要权限的代码上,然后单击“添加权限..”
然后你可以用git检查AndroidManifest.xml中的变化。
在使用eclipse时,请遵循以下步骤
双击清单以在编辑器中显示它 单击清单编辑器下面的permissions选项卡 点击添加按钮 在出现的对话框中单击使用权限。(通常是清单上的最后一项) 注意右边出现的视图选择"android.permission.INTERNET" 然后一系列的Ok,最后保存。
希望这能有所帮助
当你试图通过android模拟器加载或访问互联网时,你必须在清单文件中使用网络和访问网络状态。
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
如果你只给。internet权限,它将不能访问互联网。