虚假网络连接断开android

时间:2017-01-07 04:04:00

标签: android networking mobile android-wifi xposed

我想知道是否有办法在所选应用上断开或禁用网络连接。由于有像“假Wifi连接”这样的Xposed模块正在运行,我相信这应该是可能的。

谢谢。

1 个答案:

答案 0 :(得分:0)

通常我们使用类似的东西检查网络是否已连接

        ConnectivityManager connectivityManager
                = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
        isConnected = activeNetworkInfo != null && activeNetworkInfo.isConnectedOrConnecting();

所以你可以使用Xposed挂钩NetworkInfo类的方法isConnectedOrConnectiong()并从中返回true。

        XposedHelpers.findAndHookMethod(NetworkInfo.class, loadPackageParam.classLoader, "isConnectedOrConnecting", new XC_MethodHook() {
            @Override
            protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
                super.beforeHookedMethod(param);
                param.setResult(false);

            }
        });

param.setResult(false)跳过对原始方法的调用,并且由于调用而返回false(从未进行过调用)

我希望这会有所帮助。

编辑: 来自android docs

  

getActiveNetworkInfo在API级别1中添加

     

NetworkInfo getActiveNetworkInfo()

     

返回有关当前活动的默认数据网络的详细信息。什么时候   已连接,此网络是传出连接的默认路由。   在启动网络之前,您应该始终检查isConnected()   交通。当没有默认网络时,这可能会返回null。

因此,当没有默认网络时,调用可能会返回null。在这种情况下,这不起作用。