Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 通过WiFi热点连接时禁用共享互联网?_Android_Wifi_Android Wifi_Wifimanager_Tethering - Fatal编程技术网

Android 通过WiFi热点连接时禁用共享互联网?

Android 通过WiFi热点连接时禁用共享互联网?,android,wifi,android-wifi,wifimanager,tethering,Android,Wifi,Android Wifi,Wifimanager,Tethering,我正在构建一个android应用程序,其中两个用户通过WiFi热点连接。我以编程方式创建连接。假设用户A创建WiFi热点,用户B连接到此热点。现在我让他们用socket互相聊天。但如果用户A打开了数据连接,那么用户B可以通过其他应用程序使用这些数据,这可能会导致A受到影响。所以,我想要一种方法,我可以禁用用户B使用用户a的互联网,即通过热点连接他们,但不共享互联网 我已经研究了连接管理器中隐藏的getEtherableIfaces和untether方法,但不知何故它不起作用。以下是我如何使用它们

我正在构建一个android应用程序,其中两个用户通过WiFi热点连接。我以编程方式创建连接。假设用户A创建WiFi热点,用户B连接到此热点。现在我让他们用socket互相聊天。但如果用户A打开了数据连接,那么用户B可以通过其他应用程序使用这些数据,这可能会导致A受到影响。所以,我想要一种方法,我可以禁用用户B使用用户a的互联网,即通过热点连接他们,但不共享互联网

我已经研究了连接管理器中隐藏的getEtherableIfaces和untether方法,但不知何故它不起作用。以下是我如何使用它们:

ConnectivityManager cman = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
Method[] methods = cman.getClass().getMethods();
for (Method method : methods) {
            if (method.getName().equals("getTetherableIfaces")) {
                try {
                    interfaces = (String[]) method.invoke(cman);
                }catch (Exception e) {
                    e.printStackTrace();
                }
            }

        }



for (Method method : methods) {
            if (method.getName().equals("untether")) {
                try {
                    for(int i=0;i<interfaces.length;i++)
                    {
                        method.invoke(cman,interfaces[i]);
                    }
                }catch (Exception e) {
                    e.printStackTrace();
                }
            }

        }
ConnectivityManager cman=(ConnectivityManager)context.getSystemService(context.CONNECTIVITY_服务);
方法[]方法=cman.getClass().getMethods();
用于(方法:方法){
if(method.getName().equals(“GetTherableIfaces”)){
试一试{
接口=(字符串[])方法调用(cman);
}捕获(例外e){
e、 printStackTrace();
}
}
}
用于(方法:方法){
if(method.getName().equals(“untether”)){
试一试{

for(int i=0;i'B可以通过其他应用程序使用此数据)。请列举一些应用程序。@greenapps使用internet的任何应用程序现在都可以访问internet。当然可以。我确实使用a上的应用程序将其读为B。对不起,我的错误。