使用Android M上网

时间:2016-03-19 17:52:25

标签: java android http

我正在尝试在Anrdoid M中执行HTTP请求。但每次我收到错误:

  

java.lang.SecurityException:Permission denied(缺少INTERNET权限?)

据我所知,Android M中默认情况下每个应用都拥有Internet权限。那么为什么会出现此错误?

我还尝试将权限添加到我的清单并获得运行时权限,但都没有成功。

<?xml version="1.0" encoding="utf-8"?>

<application
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme">

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

    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

4 个答案:

答案 0 :(得分:2)

  

据我所知,Android M中默认情况下每个APp都有INTERNET权限

不,他们没有。

  

那么为什么会出现这种错误?

显然,您没有<uses-permission>元素或it is in the wrong spot

  

并获得运行时权限

INTERNET权限不是dangerous,因此运行时权限系统不需要。

答案 1 :(得分:2)

您必须在申请标记

之外写下权限
  

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

<activity android:name=".MainActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

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

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">

<activity android:name=".MainActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

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

答案 2 :(得分:1)

对于特定的android.permission.INTERNET权限,对于将访问Internet的应用程序仍然是必需的。如果开发人员发布应用程序而未在Android清单中定义该应用程序,则在第一次进行连接尝试时将抛出异常,并且应用程序可能会崩溃。这和以前没什么不同。

因此,您可以在清单中检查互联网和网络状态的许可

&#13;
&#13;
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
&#13;
&#13;
&#13;

答案 3 :(得分:0)

enter image description here

您必须拥有互联网权限才能访问互联网。 使用<uses-permission android:name="android.permission.INTERNET"/> 我在哪里展示。