0

我想编写一个 xposed 模块,我可以在其中通过 VoWiFi 重定向 VoLTE 呼叫。我想知道哪种方法决定呼叫是通过 VoLTE 还是 VoWifi,我会挂钩该方法并完成工作。

基本上使用 WiFi 我想给网络一种设备正在使用移动数据并通过 wifi 发送呼叫的错觉

注意:我是 android 编程新手。如果我的问题看起来含糊不清,请原谅。

4

1 回答 1

0

因此,即使您使用移动数据,您也想给人一种您已连接到 WIFI 的错觉。

我们检查的方式是这样的:

ConnectivityManager cm =
        (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo activeNetwork = cm.getActiveNetworkInfo();

boolean isWiFi = activeNetwork.getType() == ConnectivityManager.TYPE_WIFI;

所以你可以做的是,hook ConnectivityManager 的 getType 方法,并且在 afterhook 方法中总是返回 ConnectivityManager.TYPE_WIFI

这样做的方法是调用

 param.setResult(ConnectivityManager.TYPE_WIFI);//may be you need casting here

在后钩。

在此处阅读有关连接的更多信息: https ://developer.android.com/training/monitoring-device-state/connectivity-monitoring.html

编辑:我希望您熟悉 afterHook 和 beforeHook 方法以及 xposed 的工作原理。

于 2016-09-14T07:28:39.203 回答