Desactivar / Bloquear acceso a Internet desde Android Phone
El escenario es, estoy desarrollando una aplicación para Android que utiliza Internet. Se trata de una aplicación empresarial. La compañía proporcionará teléfonos android a todos los empleados. Ahora su requisito es que no quieren que los empleados utilicen Internet por otros medios que por su aplicación empresarial, que requiere acceso a Internet.
En resumen tengo que desarrollar una aplicación que deshabilitar la Internet (wifi, datos móviles, etc) y permitir a Internet sólo cuando el usuario está utilizando esta aplicación.
es posible? ¿Cómo lograrlo? Un servicio que siempre será mantener un control de conectividad de red?
Cualquier ayuda es apreciada.
ACTUALIZAR:
Estoy usando BroadcastReciever, que detecta estado de la conexión y deshabilita el Wifi. ¿Cómo puedo detectar el estado conectado de los datos móviles, me refiero a lo que es la acción de filtro de intención para detectar la conexión de datos móviles y luego deshabilitar en consecuencia, he intentado
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
Esto es algo que no es sugerible, pero si todavía quieres hacerlo,
en onCreate de cada actividad que utiliza Internt escribe este código,
WifiManager wifiManager = (WifiManager)this.context.getSystemService(Context.WIFI_SERVICE); wifiManager.setWifiEnabled(true);
y en onPause de esa actividad escribir,
WifiManager wifiManager = (WifiManager)this.context.getSystemService(Context.WIFI_SERVICE); wifiManager.setWifiEnabled(false);
esto es hacer para WIFI para GPRS / EDGE / 3G que podría tener que habilitar desactivar el modo de avión de la misma manera.
ACTUALIZACIÓN PARA HACERLO DE TODAS PARTES
Tome una SharedPreference
y ponga un boolean isAppRunning = true
cada vez que vaya in onCreate()
de cualquiera de su actividad y ponga False
onDestroy()
método onDestroy()
cada actividad.
Ahora, cree un receptor de difusión que escriba a la acción NETWORK_STATE_CHANGED
y que en el receptor onReceive()
compruebe el valor SharedPreference ,
Si la variable booleana de SP es True entonces Deje que el WIFI se enabale y Si es falso significa que su aplicación no se está ejecutando, entonces cambie el WIFI de nuevo.