自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在Android實現廣播接收

移動開發(fā) Android
廣播接收者(BroadcastReceiver)用于異步接收廣播Intent,廣播Intent的發(fā)送是通過調用Context.sendBroadcast()、Context.sendOrderedBroadcast()或者Context.sendStickyBroadcast()來實現的。通常一個廣播Intent可以被訂閱了此Intent的多個廣播接收者所接收,廣播接收者和JMS中的Topic消息接收者很相似。

Android使用過程中,如果你想竊聽別人接收到的短信,達到你不可告人的目的,那么本節(jié)內容可以實現你的需求。當系統(tǒng)收到短信時,會發(fā)出一個action名稱為android.provider.Telephony.SMS_RECEIVED的廣播Intent,該Intent存放了接收到的短信內容,使用名稱“pdus”即可從Intent中獲取短信內容。這里面得到對象數組,數組是以二進制數組格式

  1. public class SmsBroadcastReceiver extends BroadcastReceiver {  
  2.         @Override  
  3.         public void onReceive(Context context, Intent intent) {  
  4.                 Object[] pduses=(Object[])intent.getExtras().get("pdus");  
  5.                 for(Object pdus: pduses){  
  6.                         byte[] pdusSms=(byte[])pdus;  
  7.                         SmsMessage smsMessage=SmsMessage.createFromPdu(pdusSms);  
  8.                         String mobile=smsMessage.getOriginatingAddress();//獲得發(fā)短信手機  
  9.                         String content=smsMessage.getMessageBody();//獲得短信內容  
  10.                         Date datenew Date(smsMessage.getTimestampMillis());//獲得短信發(fā)送時間  
  11.                         SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
  12.                         String sendDate=simpleDateFormat.format(date);  
  13.                 }  
  14.         }  
  15. }  
  16. 在AndroidManifest.xml文件中的<application>節(jié)點里對接收到短信的廣播Intent進行訂閱:  
  17. <receiver android:name=".IncomingSMSReceiver"> 
  18. <intent-filter><action android:name="android.provider.Telephony.SMS_RECEIVED"/></intent-filter></receiver> 
  19. 在AndroidManifest.xml文件中添加以下權限:  
  20. <uses-permission android:name="android.permission.RECEIVE_SMS"/><!-- 接收短信權限 --> 
  21. <uses-permission android:name="android.permission.SEND_SMS"/><!-- 發(fā)送短信權限 --> 

廣播接收者

除了短信到來廣播Intent,Android還有很多廣播Intent,如:開機啟動、電池電量變化、時間已經改變等廣播Intent。
 接收電池電量變化廣播Intent ,在AndroidManifest.xml文件中的<application>節(jié)點里訂閱此Intent:。

  1. <receiver android:name=".IncomingSMSReceiver"> 
  2.     <intent-filter> 
  3.          <action android:name="android.intent.action.BATTERY_CHANGED"/> 
  4.     </intent-filter> 
  5. </receiver> 
  6.  接收開機啟動廣播Intent,在AndroidManifest.xml文件中的<application>節(jié)點里訂閱此Intent:  
  7. <receiver android:name=".IncomingSMSReceiver"> 
  8.     <intent-filter> 
  9.          <action android:name="android.intent.action.BOOT_COMPLETED"/> 
  10.     </intent-filter> 
  11. </receiver> 

并且要進行權限聲明:

  1. <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> 

【編輯推薦】

Android開發(fā)實例詳解之IMF

Android用戶界面設計:線性布局

Android用戶界面設計:布局基礎

谷歌Android UI設計技巧:新的UI設計模式

責任編輯:zhaolei 來源: 博客園
相關推薦

2017-08-15 19:20:51

AndroidHttpServer

2021-11-26 17:17:43

Android廣播運行原理源碼分析

2013-03-26 13:55:45

Android Bro

2021-11-24 08:33:09

Android廣播機制應用程序

2010-01-25 13:56:58

Android本地廣播

2011-12-07 11:57:12

ibmdw

2011-09-05 15:09:06

Android平臺Phonegap

2023-09-04 08:00:53

提交事務消息

2010-01-25 17:14:44

Android應用程序

2010-10-16 15:46:49

動態(tài)更新UIAndroid

2011-02-25 15:49:09

NecessitasQtAndroid

2023-07-28 14:32:33

QtPOST請求

2022-07-18 21:53:46

RocketMQ廣播消息

2010-10-18 13:16:24

GalleryAndroid

2016-10-20 19:36:01

androiddagger2依賴注入

2014-03-27 15:57:45

Android組件Activity

2011-07-22 09:43:53

iPhone XML POST

2014-03-27 15:34:55

Android組件Activity

2023-12-10 16:40:57

藍牙m(xù)esh網絡

2019-08-19 08:14:52

深度鏈接iOSAndroid
點贊
收藏

51CTO技術棧公眾號