推薦閱讀:
通過廣播接收者,接收到短信,對短信內容進行判斷,如果為我們指定的值就執行相應的操作。
如果短信內容是”#*location*#” 就執行,獲取手機位置
如果短信內容是”#*alarm*#” 就執行,播放報警音樂
如果短信內容是”#*wipedata*#” 就執行,遠程清除數據
如果短信內容是”#*lockscrreen*#” 就執行,遠程鎖屏
把短信的優先級定義成1000
使用模擬器發送短息的時候,會自動給發送號碼拼接上155xxxx等,判斷時候會不準確,使用String對象的contains()方法判斷是否包含我們保存的安全號碼
在res目錄下創建raw文件夾,把音樂文件放進去
調用MediaPlayer.create()方法,得到MediaPlayer對象,參數:上下文,資源文件
注意資源文件R所在的包,不要導成系統下的
調用MediaPlayer對象的start()方法
此時播放的警報靜音都不管用,因為目標手機如果正在聽音樂調的是多媒體是管用的,否則不管用
SmsReceiver.java
package com.qingguow.mobilesafe.receiver;import com.qingguow.mobilesafe.R;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.SharedPreferences;import android.media.MediaPlayer;import android.telephony.SmsMessage;import android.widget.Toast;public class SmsReceiver extends BroadcastReceiver {private SharedPreferences sp;@Overridepublic void onReceive(Context context, Intent intent) {sp=context.getSharedPreferences("config", Context.MODE_PRIVATE);//獲取短信內容Object[] objs=(Object[]) intent.getExtras().get("pdus");for(Object obj:objs){SmsMessage sms=SmsMessage.createFromPdu((byte[])obj);String body=sms.getMessageBody();String sender=sms.getOriginatingAddress();String secSender=sp.getString("secphone", "");//判斷是安全號碼的短信if(secSender.equals(sender)){switch (body) {case "#*alarm*#"://發送報警音樂//Toast.makeText(context, "播放報警音樂", 1).show();MediaPlayer mp=MediaPlayer.create(context, R.raw.alarm);mp.start();abortBroadcast();break;default:break;}}}}}以上所述是小編給大家介紹的Android手機衛士接收短信指令執行相應操作的相關知識,希望對大家以上幫助!
新聞熱點
疑難解答