淺析Android手機衛士sim卡綁定_Android

來源:互聯網
上載者:User

讀取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;@Overridepublic 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;@Overrideprotected 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() {@Overridepublic 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();}@Overridepublic void showNext() {Intent intent = new Intent(this, SecGuide3Activity.class);startActivity(intent);finish();}@Overridepublic void showPre() {Intent intent = new Intent(this, SecGuide1Activity.class);startActivity(intent);finish();}}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.