Obtener estado de la conexión VPN en Android
Pregunta
¿Es posible comprobar si un dispositivo Android está conectado a un servidor VPN? una búsqueda en la API proporciona 'destacado' paltform para Android 1.6, por lo que no me llena con mucha confianza.
Solución
Puede registrarse para BroadcastReceiver y todos los estados del vpn llegará a su aplicación.
Añadir a este manifiesto de aplicación:
<receiver android:name=".ConnectivityReceiver">
<intent-filter>
<action android:name="vpn.connectivity" />
</intent-filter>
</receiver>
crear una clase:
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
public class ConnectivityReceiver extends BroadcastReceiver
{
public void onReceive(Context c, Intent intent)
{
String state = intent.getSerializableExtra("connection_state").toString();
Log.d("**************", state.toString());
if (state.equals("CONNECTING")) {
// Do what needs to be done
}
else if (state.equals("CONNECTED")) {
// Do what needs to be done
}
else if (state.equals("IDLE")) {
int errorCode = intent.getIntExtra("err", 0);
if (errorCode != 0) {
// Do what needs to be done to report a failure
}
else {
// Normal disconnect
}
}
else if (state.equals("DISCONNECTING")) {
// Usually not very interesting
}
}
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow