Android VpnService-如何检查VpnService是否已启动?

Android VpnService-如何检查VpnService是否已启动?,第1张

概述我有两个使用VpnService类的应用程序.但是一次只能运行一个VPN连接.创建新接口时,现有接口将被停用,我希望新应用程序不要启动vpnservice以避免旧接口被停用及其VPN连接.因此,我想在调用startService()之前检查是否已启动另一个vpnservice.有没有API可以做到这一点?解决方法:据我所

我有两个使用VpnService类的应用程序.但是一次只能运行一个VPN连接.创建新接口时,现有接口将被停用,我希望新应用程序不要启动vpnservice以避免旧接口被停用及其VPN连接.因此,我想在调用startService()之前检查是否已启动另一个vpnservice.

有没有API可以做到这一点?

解决方法:

据我所知您不能直接检查.以下是我在应用程序中用于检查VPN连接的方法.

1)拨打http://jsonip.com的httpGet调用

                    public static String GetDeviceIp(){                    httpGet req = new httpGet("http://Jsonip.com");                    DefaulthttpClIEnt httpClIEnt = new DefaulthttpClIEnt();                    httpResponse response = httpClIEnt.execute(req);                     if (response.getStatusline().getStatusCode() == 200){                        ipaddress=parseJson(response.getEntity().getContent());                    }else                    { ipaddress ="EMPTY" }                    return ipaddress          }

2)解析Json响应并从响应中提取IP地址

      public static String parseJson(inputStream in)      {         String iP;        try{        String result;        BufferedReader bufferedReader = new BufferedReader(new inputStreamReader(in, "UTF-8"), 8);        StringBuilder sb = new StringBuilder();        String line = null;        while ((line = bufferedReader.readline()) != null)        {            sb.append(line + "\n");        }        result = sb.toString();         JsONObject JsonObject = new JsONObject(result);        iP=JsonObject.getString("ip");    }catch (Exception e){        iP="EMPTY";    }    return iP;   }

3)比较VPN服务器Ip和提取的Ip是否相等,如果是,则VPN打开,否则VPN关闭

public static boolean IsVPNON(){    return GetDeviceIp().equals("VPN-IP address");}
总结

以上是内存溢出为你收集整理的Android VpnService-如何检查VpnService是否已启动?全部内容,希望文章能够帮你解决Android VpnService-如何检查VpnService是否已启动?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1087892.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存