通过对SIM卡扫描,能够有效的确定用户的唯一身份。 3)功能 触发条件:对SIM卡扫描结果的分析可作为判断当前手 机是否为机主使用的一个条件, SIM卡扫描后的结果是否匹配, 可以作为安全联系人发送销毁指令能否成功触发销毁操作的 前提条件。并且,每次开机时软件都会自动扫描SIM卡信息, 倘若手机丢失后被人更换SIM卡,软件在其开机的第一时间 便可扫描出异常信息,并发送告警信息。 4)程序实现 程序中以setSystemService(TELEPHONY_SERVICE)来 取得TelephonyManager对象 [5] ,以TelephonyManager提供 的方法来取得SIM卡状态及相关信息,将取得的信息存入 MyAdapter中[6] ,最后以setListAdapter()将MyAdpter内的信息 显示于ListView中[7] 。 TelephonyManager tm =(TelephonyManager)context.getSystemService(Context. TELEPHONY_SERVICE); String imei = tm.getDeviceId(); String tel = tm.getLine1Number(); 对SIM卡进行扫描读取。 初次扫描SIM卡程序部分代码如下。 telMgr = (TelephonyManager)getSystemService(TELEPHONY_SERVICE); /* 将取得的信息写入List中 */ /* 取得SIM卡状态 */ item.add(getResources().getText(R.string.str_list0).toString()); if(telMgr.getSimState()==telMgr.SIM_STATE_READY) { value.add("良好"); } else if(telMgr.getSimState()==telMgr.SIM_STATE_ABSENT) { value.add("无SIM卡"); } else { value.add("SIM卡被锁定或未知的状态"); } /* 取得SIM卡卡号 */ item.add(getResources().getText(R.string.str_list1).toString()); if(telMgr.getSimSerialNumber()!=null) { value.add(telMgr.getSimSerialNumber()); } else { value.add("无法取得"); } /* 取得SIM卡供货商代码 */ item.add(getResources().getText(R.string.str_list2).toString()); if(telMgr.getSimOperator().equals("")) { value.add("无法取得"); } else { value.add(telMgr.getSimOperator()); } 3.4 短信触发安全机制 1)功能简介 本软件还针对手机丢失后有可能被不法分子恶意利用, 例如在原手机上进行查看短信、转发恶意信息等不良操作进 行了防护3。一旦用户发现手机丢失,可通过之前被设置为安 全联系人的手机,向自己的手机发送短信指令,触发销毁隐私 信息功能,将安全模式下的隐私内容一键销毁。该软件还可 以通过开机扫描SIM卡功能识别是否为原用户使用的SIM卡, 若不是,则向安全联系人发送告警短信告知当前手机中SIM 卡信息,以及手机当前GPS坐标地址,为寻找手机提供相关 线索,并可作为相关法律凭证。 2)特性 主动防御性:短信触发功能,可以通过安全联系人对丢 失手机发送指令,使之启动相应的防盗保护措施。短信触发 功能使手机丢失后,通过含有关键字的短信控制的销毁程序 启动,达到将手机上的隐私信息一键删除的作用,保证了隐私 信息的安全,实现主动防御。 3)功能 关键字指令:关键字指令即预先设置的相关指令关键字。 通过安全联系人向手机发送含有关键字的指令短信,触发手 机进入防盗保护状态。根据关键字指令不同可采取不同的防 盗措施。假使手机用户发现手机丢失后立即采取短信触控措 施,可以实现远距离的保护,尽可能的减少由于手机丢失带来 的损失。 警报提示:假使用户手机丢失后,被他人更换SIM卡, 此时软件通过开机扫描SIM卡会发现SIM卡变更,于此同时 短息触发功能启动,软件会向安全联系人发送警报短信,例如 “现在用户手机状态处于危险,XXX正在使用手机” 。 4)处理流程 |