`

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卡上的短信息。

 

分享到:
评论

相关推荐

    污水自动化及智能监控方案.pptx

    物联网通信产品介绍 LoRa产品 LTE和NB-Iot 工业WiFi LoRa通信终端 NB-Iot和LTE是基于运营商网络进行通信,由终端直接与运营商网络对接,需要在开通账号,插入专用SIM卡。 公司拥有各类不同型号的工业WIFI,兼容各类...

    GSM网络与GPRS

    12.3.3 在SIM卡中存储的信息表 12.4 界面 12.4.1 电接口 12.4.2 交流协议 12.4.3 命令集 12.4.4 会话举例 12.5 预激活的SIM卡 12.5.1 预激活命令交换的一般原则 12.5.2 向SIM卡转移短消息 12.5.3 用卡发送预激活命令...

    毕业论文-60W单体LED路灯状态监测与节能控制系统设计.doc

    另一个大问题是GSM网络收发模块要搭配SIM卡,其一SIM卡有寿命限制,更频繁的通讯只能采用直接输出模式。其二工作稳定性依赖于GSM网络覆盖区的网络通畅度。在信号差的偏远地区,当对路灯进行收发命令控制时,发送的...

    jt808-server:808服务端程序;实时兼容2011、2013、2019版本协议,支持分包。支持JTT1078音视频协议,TJSATL12苏标主动安防协议,支持客户端编解码

    部标JT808 JT/T808协议快速开发包 项目介绍 基于Netty,实现JT808 JT/T808部标协议的消息处理,与编码解码;...提供报文解释器(解析过程分析工具),编码解码不再抓瞎; 全覆盖的测试用例,稳定发

    无线通信网络安全技术

    2.2.4 sim卡攻击与防御技术 2.3 第三代移动通信系统安全技术 2.3.1 3g通信网络及安全分析 2.3.2 3g系统的安全实现技术 2.3.3 3g系统安全机制的缺陷分析 2.4 lte/sae移动通信系统(4g)安全技术 2.4.1 lte...

    网优必看5G接通率优化.docx

    5G接通率优化 5G无线接通率排查提升思路 将参数“PDCCH公共空间EPRE相对于小区RE参考功率的偏移”增大,可以提升接通率,但负面影响是减少了PDCCH可用资源,...5. 部分异常终端或SIM卡异常,加密算法或完整性算法不合理

    全国首款指挥型智能安全头盔-防爆智能安全帽.pptx

    内 存: RAM 2GB+ROM 16GB 产品参数 规格尺寸:290mm*235mm*150mm SIM 重 量: 软件平台: Android 6.0 摄 像 头: 1600万高清摄像头 电池容量: 2800mAh 防护等级: 三防设计,防淋雨 单 卡: Mirco Sim卡 频 段: 4G全网通...

    Protel99se实验报告(1).doc

    3、先分析电路图中所有元器件的属性,装入元器件库Sim.ddb Miscellaneous Devices.ddb 和Protel DOS Schematic Libraries.ddb。 4、然后把所有元器件和端口放置到电路原理图纸上,并把位置放好。 5、按照上图所示,...

    Google Android SDK开发范例大全(第3版) 1/5

    完整的手机数据存取功能:铃声模式设置、震动控制、WiFi服务、屏幕旋转、电池计量、温度测量、电信网络信息、SIM卡信息、拨打电话、短信解析、通讯录联系人、电子罗盘、屏幕手写等手机控制功能。 系统服务及研发的...

    Google Android SDK开发范例大全(第3版) 4/5

    完整的手机数据存取功能:铃声模式设置、震动控制、WiFi服务、屏幕旋转、电池计量、温度测量、电信网络信息、SIM卡信息、拨打电话、短信解析、通讯录联系人、电子罗盘、屏幕手写等手机控制功能。 系统服务及研发的...

    Google Android SDK开发范例大全(第3版) 3/5

    完整的手机数据存取功能:铃声模式设置、震动控制、WiFi服务、屏幕旋转、电池计量、温度测量、电信网络信息、SIM卡信息、拨打电话、短信解析、通讯录联系人、电子罗盘、屏幕手写等手机控制功能。 系统服务及研发的...

    Google Android SDK开发范例大全(第3版) 5/5

    完整的手机数据存取功能:铃声模式设置、震动控制、WiFi服务、屏幕旋转、电池计量、温度测量、电信网络信息、SIM卡信息、拨打电话、短信解析、通讯录联系人、电子罗盘、屏幕手写等手机控制功能。 系统服务及研发的...

    Google Android SDK开发范例大全(第3版)part2

     9.11 Google Analytics分析手机用户行为  第10章 创意Android程序设计  10.1 手机手电筒  10.2 GPS轨迹记录器  10.3 女性贴身看护  10.4 手机QR Code二维条形码生成器  10.5 Android QR Code二维条形...

    《Google Android SDK开发范例大全(第3版)》.pdf

    9.11 google analytics分析手机用户行为 686 第10章 创意android程序设计 691 10.1 手机手电筒 692 10.2 gps轨迹记录器 696 10.3 女性贴身看护 704 10.4 手机qr code二维条形码生成器 714 10.5 ...

Global site tag (gtag.js) - Google Analytics