Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了浅析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,请注明来意。