- 注意:PhoneSwitcher在PhoneFactory中初始化。PhoneSwitcher在初始时注册了广播接收器,监听数据卡的变化。
图1 PhoneSwitcher类,初始时注册了广播接收器
同时,TelephonyNetworkFactory初始时,注册成PhoneSwitcher的观察者,监听Phone数据能力的切换。
图2注册成PhoneSwitcher的观察者
2、当PhoneSwitcher收到数据卡变化的广播后,其handleMessage调用onEvaluate函数。
图3调用handleMessage进行消息处理,调用onEvaluate
onEvaluate函数判断出数据卡确实发生变化后,就会激活数据卡对应的Phone的拨号能力;
同时去激活非数据卡对应phone的拨号能力。
图4激活数据卡对应的phone拨号能力
PhoneSwitcher中定义了Ph