昨天開始修改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";