De quelle autorisation ai-je besoin pour accéder à Internet à partir d'une application android?

Je reçois l'Exception suivante exécutant mon application:

java.net.SocketException: Permission denied (maybe missing INTERNET permission)

Comment résoudre le problème d'autorisation manquant?

523
demandé sur BBdev 2010-03-04 13:52:04

11 réponses

Dans la dernière version de Google Play, Google a supprimé la nécessité de demander la permission pour internet comme "la plupart des applications en ont besoin de toute façon de nos jours". Cependant, pour les utilisateurs qui ont des versions plus anciennes, il est toujours recommandé de laisser le code ci-dessous dans votre manifeste

<uses-permission android:name="android.permission.INTERNET" /> 
101
répondu Finley Smith 2014-06-08 15:56:34

Ajoutez l'autorisation INTERNET à votre fichier manifeste.

Vous devez ajouter cette ligne:

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

En dehors de la balise d'application dans votre AndroidManifest.xml

1107
répondu Nikola Smiljanić 2016-06-02 16:11:17

Il suffit de mettre au-dessus de la ligne comme ci-dessous

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

<uses-sdk
    android:minSdkVersion="9"
    android:targetSdkVersion="16" />

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

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


    <activity
        android:name="com.example.exp.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>

73
répondu Kirtikumar A. 2013-09-28 06:34:11
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
38
répondu AndroidDev 2013-12-24 09:16:50

Si vous voulez utiliser Internet dans votre application et vérifier l'état du réseau, c'est-à-dire que L'application est connectée à internet, vous devez utiliser le code ci-dessous en dehors de la balise application.

Pour L'Autorisation Internet:

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

Pour l'état du réseau D'Accès:

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

Code Complet:

<uses-sdk
    android:minSdkVersion="9"
    android:targetSdkVersion="16" />

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

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


    <activity
        android:name=".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>
12
répondu Amy 2015-12-01 07:37:49

Si vous utilisez simplement internet, Utilisez-

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

Si vous obtenez l'état d'internet, utilisez également -

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

Juste au-dessus de la balise d'application.

6
répondu Akshay Paliwal 2015-02-04 08:27:08

Oubliez d'ajouter l'autorisation dans le manifeste Ajouter ce code en tant que Méthode

public static boolean hasPermissions(Context context, String... permissions)
{
    if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && context != null && permissions != null)
    {
        for (String permission : permissions)
        {
            if (ActivityCompat.checkSelfPermission(context, permission) != PackageManager.PERMISSION_GRANTED)
            {
                return false;
            }
        }
    }
    return true;
}

Et écrire ceci dans votre Main

int PERMISSION_ALL = 1;
    String[] PERMISSIONS = {Manifest.permission.READ_CONTACTS, Manifest.permission.WRITE_CONTACTS, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_SMS, Manifest.permission.CAMERA};

    if (!hasPermissions(this, PERMISSIONS)) {
        ActivityCompat.requestPermissions(this, PERMISSIONS, PERMISSION_ALL);
    }
3
répondu Vaibhav Joshi 2017-01-20 10:56:46

Il suffit de mettre le code ci-dessous dans AndroidManifest:

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
3
répondu Hiren Gondaliya 2017-02-18 10:59:07

Selon les versions actuelles, Android ne demande pas la permission d'interagir avec internet, mais vous pouvez ajouter le code ci-dessous qui aidera les utilisateurs utilisant des versions plus anciennes Il suffit d'ajouter ces dans AndroidManifest

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
2
répondu Kashif Faraz Shamsi 2017-08-12 11:58:59

Utilisez ces éléments:

<uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
0
répondu Olorunfemi Ajibulu 2018-06-28 18:01:11

Pour demander l'autorisation d'internet dans votre code, vous devez les ajouter à votre AndroidManifest.fichier xml

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

Pour plus d'explications détaillées goto https://developer.android.com/training/basics/network-ops/connecting

0
répondu trustidkid 2018-10-05 18:18:05