大佬教程收集整理的这篇文章主要介绍了浅析Android手机卫士sim卡绑定,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
读取sim卡的序列号,保存起来,一旦sim发生变更了,认为是小偷的sim卡,发出警告
读取sim卡序列号
获取Telephonymanager对象,通过getSystemservice(TELEPHONY_serviCE)
调用Telephonymanager对象的getSimserialnumber()方法,得到String类型的序列号
把序列号保存在SharedPreences里面
需要加权限 android.permission.READ_PHONE_STATE
检测sim卡是否变更
使用广播接收者,监听手机的开机广播
新建一个包 xxx.receiver,新建一个类BootCompleteReceiver.java
清单文件注册一下,添加<receiver>节点,设置名称android:name=”xxx”
添加意图过滤器<intent-filter>节点
添加动作<action/>节点,设置监听动作名称android.intent.action.bOOT_COMPLETED
在BootCompleteReceiver类里面的onReceive()方法里,接收到广播,读取当前的sim卡序列号,比较之前保存的sim卡序列号,如果不一样就发送短信给安全号码
监听开机启动需要权限 android:perission.RECEIVE_BOOT_COMPLETED
BootCompleteReceiver.java
package com.qingguow.mobilesafe.receiver; import android.content.broadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.telephony.Telephonymanager; import android.widget.Toast; public class BootCompleteReceiver extends BroadcastReceiver { private Telephonymanager tm; private SharedPreferences sp; @Override public void onReceive(Context cotext,Intent arg1) { sp=cotext.getSharedPreferences("config",Context.MODE_PRIVATE); //读取当前的sim卡序列号 tm=(Telephonymanager) cotext.getSystemservice(Context.TELEPHONY_serviCE); String relSim=tm.getSimserialnumber(); //读取之前保存的 String saveSim=sp.getString("sim",""); //判断后发短信 if(saveSim.equals(relSim)){ }else{ //发送报警短息给安全号码 System.out.println("sim卡变更了"); Toast.makeText(cotext,"sim卡变更了",1).show(); } } }
SecGuide2Activity.java
package com.qingguow.mobilesafe; import android.content.Intent; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.os.bundle; import android.telephony.Telephonymanager; import android.text.TextUtils; import android.view.View; import android.view.View.onClickListener; import com.qingguow.mobilesafe.ui.SetTingItemView; public class SecGuide2Activity extends BaseSecGuideActivity { private SetTingItemView siv_sim; private SharedPreferences sp; private Telephonymanager telephonymanager; @Override protected void onCreate(Bundle savedInstanceStatE) { super.onCreate(savedInstanceStatE); setContentView(R.layout.activity_lost_find2); siv_sim = (SetTingItemView) findViewById(R.id.siv_sim); sp = getSharedPreferences("config",MODE_PRIVATE); telephonymanager = (Telephonymanager) getSystemservice(TELEPHONY_serviCE); // 根据保存的数据设置状态 String sim = sp.getString("sim",""); if (TextUtils.isEmpty(sim)) { siv_sim.setchecked(false); } else { siv_sim.setchecked(true); } // 绑定sim卡 siv_sim.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { String sim = telephonymanager.getSimserialnumber(); Editor editor = sp.edit(); String simSp = sp.getString("sim",""); if (TextUtils.isEmpty(simSp)) { siv_sim.setchecked(true); editor.putString("sim",sim); } else { siv_sim.setchecked(false); editor.putString("sim",""); } editor.commit(); } }); } public void nextStep(View v) { shownext(); } public void preStep(View v) { showPre(); } @Override public void shownext() { Intent intent = new Intent(this,SecGuide3Activity.class); startActivity(intent); finish(); } @Override public void showPre() { Intent intent = new Intent(this,SecGuide1Activity.class); startActivity(intent); finish(); } }
以上是大佬教程为你收集整理的浅析Android手机卫士sim卡绑定全部内容,希望文章能够帮你解决浅析Android手机卫士sim卡绑定所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。