当我们使用流量上网时,会发现此时谷歌浏览器无法连接网络,这就达到了我们的目的。
不多说,直接上代码。
1.第一步:我们需要把我们控制网络的方法声明在frameworks/base/core/Java/android/os/INetworkManagementService.aidl中:
interface INetworkManagementService
{
……
void setMobileDataUidRule(int uid, boolean allow);
void setWifiDataUidRule(int uid, boolean allow);
……
}
第二步:在frameworks/base/services/core/java/com/android/server目录下的NetworkManagementService.java中实现我们声明的两个方法:
//add by xiaoxsen
public void setMobileDataUidRule(int uid, boolean allow) {
enforceSystemUid();//check
try {
final String rule = allow ? “allow” : “deny”;
mConnector.execute(“firewall”, “set_mobile_data_uid_rule”, uid, rule);
} catch (NativeDaemonConnectorException e) {
throw e.rethrowAsParcelableException();
}
}
public void setWifiDataUidRule(int uid, boolean allow) {