Question De quelle permission ai-je besoin pour accéder à Internet à partir d'une application Android?


Je reçois l'exception suivante en cours d'exécution de mon application:

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

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


516
2018-03-04 10:52


origine


Réponses:


Dans la dernière version de Google Play, Google a supprimé la nécessité de demander la permission pour Internet car «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" /> 

88
2018-06-08 15:56



Ajouter le L'INTERNET permission à 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


1100
2018-03-04 10:53



juste 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>


72
2017-09-28 06:34



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

38
2017-12-24 09:16



Si vous souhaitez utiliser Internet dans votre application et vérifier l'état du réseau, c'est-à-dire si l'application est connectée à Internet, vous devez utiliser le code ci-dessous en dehors du application marque.

Pour l'autorisation d'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
2017-11-30 07:54



si vous utilisez simplement Internet, utilisez-

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

si vous obtenez l'état d'internet, utilisez aussi -

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

juste au-dessus de la balise d'application.


6
2018-02-04 08:27



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
2018-02-18 10:59



oublier d'ajouter la permission dans le manifeste Ajouter ce code comme une 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 écrivez ceci dans votre Principale

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);
    }

2
2018-01-20 10:56



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 de les ajouter dans AndroidManifest

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

2
2017-08-12 11:58



Utilisez ceux-ci:

<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
2018-06-28 18:01