昨天开始修改M3板子,插上网线,时间不能自动同步问题.纠结了一下午,今天早上顺利解决.现在回头想想,改bug还是有点技巧的不能盲目的到代码中找.这次问题的解决得益于州哥凭借他对androidframework的了解,直接通过名字找到frameworks\base\services\java\com\android\server\NetworkTimeUpdateService.java 类,其实开名字我也知道这个service是管理网络时间更新的,但是就是不晓得再哪个包包里边, 其实昨天我grep 有线网络连接后的广播差点找到问题的所在.只是刚刚这个bug,是只接受
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case EVENT_AUTO_TIME_CHANGED:
case EVENT_POLL_NETWORK_TIME:
case EVENT_WIFI_CONNECTED:
onPollNetworkTime(msg.what);
break;
}
}
wifi连接时 poll网络时间,因为把android平台做到电视上,肯定要把手机上没得有线网络添加进framework层,这就是我今天要讲的重点了,修电视板子的bug一定要对比android手机没得功能,因为有的功能肯定很完善了,不需要我们修改,新添加的功能是我们排查的重点. 这此查网络时间更新bug就是一个很好的例子.
事后诸葛亮:
当时通过grep 有线连接广播搜索bug所在类时应该搜下wifi连接广播的.
和grep ConnectivityManager public static final String CONNECTIVITY_ACTION =
"android.net.conn.CONNECTIVITY_CHANGE";