Get VPN Connection status on Android

后端 未结 1 1112
Happy的楠姐
Happy的楠姐 2020-12-06 02:12

Is it possible to check if an Android device is connected to a VPN server? A search in the API provides \'paltform highlights\' for Android 1.6, so that doesn\'t fill me wit

相关标签:
1条回答
  • 2020-12-06 02:40

    You can register to broadcastreceiver and all vpn states will come to you application.

    Add this to application manifest:

    <receiver android:name=".ConnectivityReceiver">
      <intent-filter>
        <action android:name="vpn.connectivity" />
      </intent-filter>
    </receiver>
    

    create a class:

    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
        }
      }
    }
    
    0 讨论(0)
提交回复
热议问题