(M)SIM卡开机流程分析之DefaultPhoneNotifier类分析

SIM卡开机流程,之前我们已经了解由PhoneFactory类的makeDefaultPhone方法中开始,在这个方法中,新建了一个DefaultPhoneNotifier对象

sPhoneNotifier = new DefaultPhoneNotifier();
那么,先看看google对DefaultPhoneNotifier类的介绍

/**
 * broadcast intents
 */
public class DefaultPhoneNotifier implements PhoneNotifier {
    ......
}
从这个介绍中可以看到这个类的主要工作就是向外发送广播消息,那么,就来看看它是如何来完成其工作的

/*package*/
protected DefaultPhoneNotifier() {
    mRegistry = ITelephonyRegistry.Stub.asInterface(ServiceManager.getService(
                "telephony.registry"));
}
构造方法中,仅仅创建了一个对象,这个对象是什么?ITelephonyRegistry,我们可知,实现ITelephonyRegistry的是TelephonyRegistry类,也就是说,其实是新建了一个TelephonyRegister对象

遍观DefaultPhoneNotifier类,发现其都是notify一族的方法,那么我们就直接选取一个方法来看看,其究竟是如何来实现发送广播消息的

@Override
public void notifyDataConnection(Phone sender, String reason, String apnType,
        PhoneConstants.DataState state) {
    doNotifyDataConnection(sender, reason, apnType, state);
}
private void doNotifyDataConnection(Phone sender, String reason, String apnType,
        PhoneConstants.DataState state) {
    int subId = sender.getSubId();
    long dds = SubscriptionManager.getDefaultDataSubId();
    if (DBG) log("subId = " + subId + ", DDS = " + dds);

    // 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值