vodafone movistar itinerancia internet europa datos como celular bmobile activar android performance android-fragments android-intent android-activity

android - movistar - itinerancia de datos roaming



Cómo activar o desactivar los datos móviles mediante programación (2)

Esta pregunta ya tiene una respuesta aquí:

En Android, cómo activar y desactivar los datos móviles en Android 4.4 y versiones anteriores. He usado este código pero no funciona en android android 4.4 y versiones

private void setMobileDataEnabled(Context context, boolean enabled) { final ConnectivityManager conman = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); final Class conmanClass = Class.forName(conman.getClass().getName()); final Field iConnectivityManagerField = conmanClass.getDeclaredField("mService"); iConnectivityManagerField.setAccessible(true); final Object iConnectivityManager = iConnectivityManagerField.get(conman); final Class iConnectivityManagerClass = Class.forName(iConnectivityManager.getClass().getName()); final Method setMobileDataEnabledMethod = iConnectivityManagerClass.getDeclaredMethod("setMobileDataEnabled", Boolean.TYPE); setMobileDataEnabledMethod.setAccessible(true); setMobileDataEnabledMethod.invoke(iConnectivityManager, enabled); }


No puede habilitar de forma programada la conexión a Internet, pero puede verificar si hay conexión a Internet presente o no, si no está disponible, entonces puede decirle al usuario que habilite la conexión a Internet.

Debajo del código hace eso.

protected void createNetErrorDialog() { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage("You need internet connection for this app. Please turn on mobile network or Wi-Fi in Settings.") .setTitle("Unable to connect") .setCancelable(false) .setPositiveButton("Settings", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { Intent i = new Intent(Settings.ACTION_WIRELESS_SETTINGS); startActivity(i); } } ) .setNegativeButton("Cancel", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { MyActivity.this.finish(); } } ); AlertDialog alert = builder.create(); alert.show(); }


No se puede acceder a los datos móviles on / off programmaticaly por encima de Android 4.4. Se han detenido por razones de seguridad, en su lugar puede pedirle al usuario que use un cuadro de diálogo para habilitar los datos móviles y luego si lo habilita puede hacer su tarea.