¿Qué permiso necesito para acceder a Internet desde una aplicación Android?


Obtengo la siguiente excepción al ejecutar mi aplicación:

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

¿Cómo resuelvo el problema de permisos faltantes?

Author: BBdev, 2010-03-04

11 answers

En la última versión de Google Play, Google eliminó la necesidad de pedir permiso para Internet como "la mayoría de las aplicaciones lo necesitan de todos modos hoy en día". Sin embargo, para los usuarios que tienen versiones anteriores, se recomienda dejar el código a continuación en su manifiesto

<uses-permission android:name="android.permission.INTERNET" /> 
 101
Author: Finley Smith,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-06-08 15:56:34

Agregue el permiso INTERNET a su archivo de manifiesto.

Tienes Que añadir esta línea:

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

Fuera de la etiqueta de aplicación en tu AndroidManifest.xml

 1107
Author: Nikola Smiljanić,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-02 16:11:17

Simplemente pon encima de la línea como debajo

<?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
Author: Kirtikumar A.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-09-28 06:34:11
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
 38
Author: AndroidDev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-12-24 09:16:50

Si desea utilizar Internet en su aplicación, así como comprobar el estado de la red, es decir, Si la aplicación está conectada a Internet, entonces usted tiene que utilizar el siguiente código fuera de la etiqueta application.

Para el Permiso de Internet:

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

Para el estado de la red de acceso:

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

Código Completo:

<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
Author: Amy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-01 07:37:49

Si solo usa Internet, use -

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

Si está obteniendo el estado de Internet, use también -

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

Justo encima de la etiqueta de la aplicación.

 6
Author: Akshay Paliwal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-02-04 08:27:08

Olvídate de añadir el permiso al manifiesto Añadir este código como método

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

Y escribe esto en tu Principal

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
Author: Vaibhav Joshi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-01-20 10:56:46

Simplemente ponga el código debajo en AndroidManifest:

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
 3
Author: Hiren Gondaliya,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-02-18 10:59:07

Según las versiones actuales, Android no pide permiso para interactuar con Internet, pero puede agregar el siguiente código que ayudará a los usuarios que usan versiones anteriores Simplemente agregue estos en AndroidManifest

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
 2
Author: Kashif Faraz Shamsi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-12 11:58:59

Utilice estos:

<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
Author: Olorunfemi Ajibulu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-28 18:01:11

Para solicitar permiso de Internet en su código debe agregarlos a su AndroidManifest.archivo xml

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

Para una explicación más detallada goto https://developer.android.com/training/basics/network-ops/connecting

 0
Author: trustidkid,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-10-05 18:18:05