新聞中心
在Android使用過(guò)程中,如果你想竊聽(tīng)別人接收到的短信,達(dá)到你不可告人的目的,那么本節(jié)內(nèi)容可以實(shí)現(xiàn)你的需求。當(dāng)系統(tǒng)收到短信時(shí),會(huì)發(fā)出一個(gè)action名稱(chēng)為android.provider.Telephony.SMS_RECEIVED的廣播Intent,該Intent存放了接收到的短信內(nèi)容,使用名稱(chēng)“pdus”即可從Intent中獲取短信內(nèi)容。這里面得到對(duì)象數(shù)組,數(shù)組是以二進(jìn)制數(shù)組格式

- public class SmsBroadcastReceiver extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- Object[] pduses=(Object[])intent.getExtras().get("pdus");
- for(Object pdus: pduses){
- byte[] pdusSms=(byte[])pdus;
- SmsMessage smsMessage=SmsMessage.createFromPdu(pdusSms);
- String mobile=smsMessage.getOriginatingAddress();//獲得發(fā)短信手機(jī)
- String content=smsMessage.getMessageBody();//獲得短信內(nèi)容
- Date date= new Date(smsMessage.getTimestampMillis());//獲得短信發(fā)送時(shí)間
- SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- String sendDate=simpleDateFormat.format(date);
- }
- }
- }
- 在AndroidManifest.xml文件中的
節(jié)點(diǎn)里對(duì)接收到短信的廣播Intent進(jìn)行訂閱: - 在AndroidManifest.xml文件中添加以下權(quán)限:
廣播接收者
除了短信到來(lái)廣播Intent,Android還有很多廣播Intent,如:開(kāi)機(jī)啟動(dòng)、電池電量變化、時(shí)間已經(jīng)改變等廣播Intent。
接收電池電量變化廣播Intent ,在AndroidManifest.xml文件中的
- 接收開(kāi)機(jī)啟動(dòng)廣播Intent,在AndroidManifest.xml文件中的
節(jié)點(diǎn)里訂閱此Intent:
并且要進(jìn)行權(quán)限聲明:
【編輯推薦】
Android開(kāi)發(fā)實(shí)例詳解之IMF
Android用戶(hù)界面設(shè)計(jì):線性布局
Android用戶(hù)界面設(shè)計(jì):布局基礎(chǔ)
谷歌Android UI設(shè)計(jì)技巧:新的UI設(shè)計(jì)模式
分享題目:在Android實(shí)現(xiàn)廣播接收
網(wǎng)站URL:http://m.fisionsoft.com.cn/article/djsssoo.html


咨詢(xún)
建站咨詢(xún)
