編輯:關於android開發
通過廣播接收者,接收到短信,對短信內容進行判斷,如果為我們指定的值就執行相應的操作
如果短信內容是”#*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; @Override public 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; } } } } }
mixer 結構分析[uavcan為例]mixer指令為系統的app命令,位置在Firmware/src/systemcmds/mixer目錄下面,其功能是裝載mix文件
關於Genymotion下載比較慢的解決辦法,genymotion解決辦法 Genymotion號稱Android模擬器中運行最快的,但是服務器在國外,Android鏡
Xamarin Android 應用程序內圖標上數字提示,xamarinandroid最近在用 Xamarin 做一個 Android 應用,打開應用時,如果有新消息,需
存儲鏈路問題導致的RAC異常昨天,有人加我,說遇到了RAC問題。 環境是oracle 11.0.2.4,2節點。情況如下,CRSD宕了,集群不會自動切換。並且出現了好幾次