我试图在Android中使用HttpURLConnection访问HTTP链接来下载文件,但我在LogCat中得到这个警告:

WARN/System.err(223): java.net.SocketException:权限被拒绝(可能缺少INTERNET权限)

我已经添加了android.Manifest.permission到我的应用程序,但它仍然给出相同的异常。


当前回答

如果你正在使用Android Studio,请将鼠标悬停在需要权限的代码上,然后单击“添加权限..”

然后你可以用git检查AndroidManifest.xml中的变化。

其他回答

权限名称区分大小写

为了防止别人遇到同样的问题,这是区分大小写的语句,所以错误的大小写意味着你的应用程序将无法获得许可。

错误的

<uses-permission android:name="ANDROID.PERMISSION.INTERNET" />

正确的

<uses-permission android:name="android.permission.INTERNET" />

这个问题可能会发生。在IDE中自动完成

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.photoeffect"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="18" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="com.example.towntour.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.Black.NoTitleBar" >
    <activity
        android:name="com.photoeffect.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

</manifest>

如果你正在使用Android Studio,请将鼠标悬停在需要权限的代码上,然后单击“添加权限..”

然后你可以用git检查AndroidManifest.xml中的变化。

在使用eclipse时,请遵循以下步骤

双击清单以在编辑器中显示它 单击清单编辑器下面的permissions选项卡 点击添加按钮 在出现的对话框中单击使用权限。(通常是清单上的最后一项) 注意右边出现的视图选择"android.permission.INTERNET" 然后一系列的Ok,最后保存。

希望这能有所帮助

将以下行复制到应用程序清单文件中,并粘贴在<application>标记之前。

<uses-permission android:name="android.permission.INTERNET"/>

将权限放在<application/>标记下面可以工作,但会给您警告。所以要注意将它放在<application/>标记声明之前。