`

SIM卡满处理流程分析

 
阅读更多

SIM卡满处理流程分析

//框架层分析
// SMSDispatcher.java
   /** SIM/RUIM storage is full */
static final protected int EVENT_ICC_FULL = 6;

  @Override
    public void handleMessage(Message msg) {

。。。。。。
case EVENT_ICC_FULL:  //SIM卡满处理分支
     handleIccFull();
     break;

}

 /**
 * Called when SIM_FULL message is received from the RIL.  Notifies intereste
* parties that SIM storage for SMS messages is full.
*/
private void handleIccFull(){  //SIM卡满消息最初是发自RIL层
// broadcast SIM_FULL intent
Intent intent = new Intent(Intents.SIM_FULL_ACTION);
 mWakeLock.acquire(WAKE_LOCK_TIMEOUT);
 mContext.sendBroadcast(intent, "android.permission.RECEIVE_SMS");
}

//应用层分析:
//AndroidManifest.xml
   <receiver android:name=".transaction.SimFullReceiver">
            <intent-filter>
                <action android:name="android.provider.Telephony.SIM_FULL" />
            </intent-filter>
        </receiver>

// SimFullReceiver.java
/**
 * Receive Intent.SIM_FULL_ACTION.  Handle notification that SIM is full.
 */
public class SimFullReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        if (Settings.Secure.getInt(context.getContentResolver(),
            Settings.Secure.DEVICE_PROVISIONED, 0) == 1 &&
            Telephony.Sms.Intents.SIM_FULL_ACTION.equals(intent.getAction())) {

            NotificationManager nm = (NotificationManager)
                context.getSystemService(Context.NOTIFICATION_SERVICE);

            Intent viewSimIntent = new Intent(context, ManageSimMessages.class);
            viewSimIntent.setAction(Intent.ACTION_VIEW);
            viewSimIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            PendingIntent pendingIntent = PendingIntent.getActivity(
                    context, 0, viewSimIntent, 0);

            Notification notification = new Notification();
            notification.icon = R.drawable.stat_sys_no_sim;
            notification.tickerText = context.getString(R.string.sim_full_title);
            notification.defaults = Notification.DEFAULT_ALL;

            notification.setLatestEventInfo(
                    context, context.getString(R.string.sim_full_title),
                    context.getString(R.string.sim_full_body),
                    pendingIntent);
            nm.notify(ManageSimMessages.SIM_FULL_NOTIFICATION_ID, notification);
       }
}


//ManageSimMessages.java
//ManageSimMessages管理SIM卡上的短信息。

 

分享到:
评论

相关推荐

    解SIM卡软件

    总结来说,这个压缩包包含了一个名为FD的SIM卡处理软件,版本3.0,以及相关的用户手册、可执行文件、语言配置文件和通信控件。用户可以通过这个工具自行复制SIM卡,实现一卡多号的功能,但这可能涉及到法律和隐私...

    SIM卡操作系统COS的安全分析

    ### SIM卡操作系统COS的安全分析 #### 一、引言 SIM卡,即用户识别模块(Subscriber Identity Module),是移动通信领域中用于标识特定移动用户的网络连接设备。其核心功能在于存储用户数据,并完成客户身份鉴权及...

    解联通移动非自毁SIM卡程序F963C

    标题中的“解联通移动非自毁SIM卡程序F963C”似乎是指一个特定的软件工具,专门设计用于处理中国联通或中国移动的SIM卡。这个工具的目的是解除某些可能的限制或者防止SIM卡自毁的功能。在电信行业中,SIM卡...

    SIM卡在物联网运营中的应用.pptx

    SIM卡在这一过程中主要作用于网络层,负责数据的安全传输。 ### 物联网运营面临的挑战 1. **融合的信息通信基础设施**:实现不同类型的物联网终端和感知网络之间的互联互通,以及与传统通信网络的融合,是一项巨大...

    行业资料-电子功用-具有保护电路的SIM卡自动检测装置的说明分析.rar

    4. **SIM卡检测流程**:在设备启动时,SIM卡检测装置会通过检测SIM卡插槽的机械触点来感知SIM卡的存在。接着,设备会向SIM卡发送特定命令以获取卡片信息。如果响应正确,表明SIM卡正常;若无响应或响应错误,则可能...

    SIM_sim.zip_ahead9kz_apdu_apdu sim_sim_sim卡cpu卡apdu

    开发者可以利用这些工具模拟SIM卡的行为,发送和接收APDU命令,以测试和调试手机与SIM卡之间的交互过程。 总结来说,APDU是SIM卡通信的核心,而"Ahead9kz"可能是特定的SIM卡技术或者协议。提供的文件集合提供了一种...

    电信设备-一种利用RF-SIM卡的商品信息处理方法及系统.zip

    2. **商品信息处理流程**:详细说明如何使用RF-SIM卡来读取、存储和更新商品信息,可能包括商品的生产日期、批次、价格、库存状态等。 3. **系统架构**:描述整个系统包括哪些组成部分,如RF-SIM卡、读卡设备、后台...

    sim_card.tar.gz_4 3 2 1_ISO7816-4_SIM卡读取_iso7816_sim

    SIM卡,全称为Subscriber Identity Module,是移动通信设备中用于存储用户身份信息和通信数据的重要组件。ISO7816系列标准定义了SIM卡与读卡器之间...通过分析和学习这个文件,可以进一步掌握SIM卡读取的具体实现细节。

    精修SIM卡电路故障维修思路与实战

    因此,在处理故障时,检查SIM卡状态同样是必不可少的步骤。 在确认硬件、软件及SIM卡本身的检查都无异常后,对比测试成为一项重要的检测手段。使用正常SIM卡在故障手机上进行测试,可以帮助我们判断故障是否由手机...

    SIM 卡读卡器 VC 源代码

    7. **安全性和加密**:处理SIM卡数据时,需要考虑安全因素,确保数据在传输过程中的安全,可能涉及到SSL/TLS加密。 通过"SIM 卡读卡器 VC 源代码"的学习,开发者不仅可以掌握智能卡读卡器的应用开发,还能加深对...

    行业分类-电子-RF-SIM卡电路及其控制方法的说明分析.rar

    RF-SIM卡,即射频SIM卡,是通信技术中的一种创新应用,它结合了传统SIM卡的身份识别功能与无线射频技术,主要用于提升移动通信设备的连接性能和安全性。RF-SIM卡在无需物理接触的情况下就能实现数据交换,提高了用户...

    获取运营商sim卡信息

    在Android系统中,获取运营商SIM卡信息是移动应用开发中常见的需求,这通常涉及到设备的通话功能和网络连接。在Android平台,`TelephonyManager`类提供了与电话相关的各种信息,包括SIM卡信息。以下是对如何获取运营...

    用430F413普通端口读写SIM卡的程序

    5. **中断处理**:为了高效地与SIM卡交互,通常会使用中断来响应SIM卡的信号变化,如数据准备好或命令完成。430F413的中断系统应被正确配置以处理这些事件。 6. **电源管理**:由于430F413的低功耗特性,需要考虑...

    电子政务-安装在终端的电池组件内的SIM卡.zip

    SIM卡内部包含一个微处理器和存储器,可以存储用户的电话号码、短信、联系人信息以及运营商的加密密钥。在电子政务应用中,这些特性使得SIM卡成为了确保通信安全和用户身份验证的重要工具。 在电子政务的场景下,...

    电信设备-基于ICCID信息实现SIM卡归属渠道、开卡的方法.zip

    基于ICCID信息实现SIM卡归属渠道和开卡方法是一个关键的技术流程,对于运营商的管理和服务至关重要。本文件“基于ICCID信息实现SIM卡归属渠道、开卡的方法.pdf”可能详细阐述了这一过程。 首先,ICCID信息详解:...

    电信设备-客户身份识别卡SIM卡注册失败后重启通信的方法和装置.zip

    通过优化SIM卡注册失败后的处理流程,不仅减少了用户的不便,也减轻了网络资源的压力,对整个通信网络的稳定运行具有积极意义。因此,对于电信设备的设计者和维护者来说,理解和掌握这些技术和策略是非常重要的。

    sim_driver sim card 驱动程序--c

    为了深入理解这个驱动程序,需要阅读和分析这些源代码,研究其结构、函数调用和处理流程。 总的来说,编写SIM卡驱动程序是一项技术性强且要求高的任务,涉及到硬件接口、通信协议、操作系统交互和安全性等多个方面...

    基于深度学习的SIM卡异常用户监控与预警.pdf

    深度学习在数据分析、图像识别、自然语言处理等领域取得了显著的成果,本研究便是利用深度学习的方法,尤其是长短期记忆网络(LSTM)模型,来预测SIM卡的潜在异常用户及异常类型。 在进行深度学习模型的构建时,...

Global site tag (gtag.js) - Google Analytics