短信触发安全机制的处理流程如图4所示。 ![]() 5)程序实现 在Activity的onCreate()里程序会先寻找是否有传入此 Activity的Bundle对象,这是来自HippoCustomIntentReceiver. java送来的参数STR_PARAM01[5] 。如果发现这个参数,就 表示收到了短信,而参数STR_PARAM01就是User传来的 短信 [6] ,其内容格式如下:<发信人电话号码><delimiter1>< 短信BODY>。 所以在程序里必须判断是否有<delimiter1>。若有,则表 示是自己广播传来的; 若没有,则可能是系统自己的短信广播, 在拆解<delimiter1>TAG之后,便判断短信内容(第二个数组 元素)里是否有设计好的关键字,当发现关键字之后,这表 示是有效的双向短信,随即展开返回信息的操作 [7] 。 try { /* 建立Bundle对象,判断是否有传入封装参数 */ Bundle mBundle01 = this.getIntent().getExtras(); if (mBundle01 != null) { /* 取得参数名称STR_PARAM01 */ String strParam01 = mBundle01.getString("STR_PARAM01"); String[] aryTemp01 = null; /* 发现为来自广播的讯息参数,表示来自自己的广播事件 */ if(eregi(strDelimiter1,strParam01)) { /* 判断strDelimiter,并以数组存放 */ aryTemp01 = strParam01.split(strDelimiter1); /*判断数组元素[0]是否为中国地区的电话号码以及对短信关键字 进行检查 */ if(isTWCellPhone(aryTemp01[0]) && eregi(strSecretWord,aryTemp01[1]) && aryTemp01.length==2) { /* 显示已捕捉到双向短信关键字 */ mMakeTextToast ( getResources().getText(R.string.str_cmd_sms_catched).toString(), false ); } } } } 4 实验及结果 我们运用Eclipse3.5.2版本进行软件开发,通过Android模拟器进行各功能模块的调试工作。 4.1 安全模式测试 点击安全模式按钮后,系统进入安全模式,用户界面如 图5所示。 ![]() 点击 “启动用户模式” , 进入输入密码界面, 用户输入密码, 若防止输入错误可选择显示密码, 即可明文输入。如图6所示。 ![]() 4.2 隐式通信录测试 通过软件读取通讯录信息,手机号中间五位进行了隐式 处理,如图7、8所示。 ![]() 4.3 短信监听触发功能 在初始化设置时,需要开启监听双向短信功能,使得软 件可以对安全联系人短信进行监听,一旦监听到关键字指令 便触发相应程序。开启监听功能如图9所示。 4.4 测试结果及总结 各功能测试结果如表1所示。 ![]() 5 结束语 现阶段,我们已经基本完成软件的设计工作,并进行了 初步测试,达到了设计初期的各项功能任务。但是,我们开发 的这款软件只是单一的对用户的隐私信息进行了保护。若能在 Android系统中将本款软件的相关功能实现将会更加安全,更加 便于用户使用。下一阶段,我们将重点对Android系统进行研 |