I am trying to detect if VPN is running on the phone. I have implemented the below code, but it reports crashes on Firebase Crashlytics.
ConnectivityManager connectivityManager = (ConnectivityManager) activity.getSystemService(activity.CONNECTIVITY_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
@SuppressLint("MissingPermission")
Network activeNetwork = connectivityManager.getActiveNetwork();
@SuppressLint("MissingPermission")
NetworkCapabilities caps = connectivityManager.getNetworkCapabilities(activeNetwork);
boolean vpnInUse = caps.hasTransport(NetworkCapabilities.TRANSPORT_VPN);
The crash reported is
Fatal Exception: java.lang.RuntimeException Unable to resume activity {com.my.app/com.my.app.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.net.NetworkCapabilities.hasTransport(int)' on a null object reference
How do I resolve this issue?