一、Doze
1.Doze白名单机制与网络访问
2.Alarm的wakeup机制
二、包过虑
1.allow TCP
配置如下:gDisablePacketFilter=1
早期包过虑机制
早期高通平台使用allow TCP的方案;上层接口有手机厂家自己封装。
一般应用通过数据库变量直接控制到framework service,而系统框架则通过setCountry方式call到驱动及固件。
2.Android引入包过虑机制
配置如下:gBpfFilterEnable=1
关键部分:
frameworks/base/service/net/java/android/net/apf/ApfFilter.java
maybeStartFilter
framework/base/core/java/android/net/NetUtils.java
attachRaFilter
frameworks/base/core/jni/android_net_NetUtils.cpp
setsockopt(fp, SOL_SOCKET, SO_ATTACH_FILTER, &filter, sizeof(filter));
参见如下:
https://blog.csdn.net/ljy1988123/article/details/50444693