亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

Android廣播接收機制詳細介紹(附短信接收實現)

2020-04-11 11:31:36
字體:
來源:轉載
供稿:網友

Android中廣播(BroadcastReceiver)的詳細講解.

1. BroadcastReceiver的注冊過程:
(1).廣播消息發出來后,只有訂閱了該廣播的對象才會接收發出來的廣播消息并做出相應處理。
**(2).**Android廣播分為兩個方面:廣播發送者和廣播接收者。Android中的廣播使用了觀察者模式,基于消息的發布/訂閱事件模型。廣播接收者通過Binder機制向AMS進行注冊,AMS查找符合相應條件的Broadcastreceiver,將廣播發送到BroadcastReceiver(一般情況下是Activity)相應的消息循環隊列中。消息循環執行拿到此廣播,回調BroadcastReceiver中的onReceive()方法。
(3).廣播發送者和廣播接收者的執行順序是異步的,發出去的廣播不會關心有無接收者的接收,也不確定接收者是什么時候能接收到。
2. BroadcastReceiver的步驟:
(1).注冊廣播:廣播接收者在AMS中注冊廣播。
(2).發送廣播:廣播發送者向AMS中發送廣播。
(3).接收廣播:廣播接收者拿到廣播后調用onReceive()方法執行。

以下是一個發送短信的例子,代碼如下:

BroadcastReceiverHelper 類:package com.scd.broadcastreceiver.helper;import com.scd.broadcastreceiver.activity.MainActivity;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.widget.Toast;/** * 廣播接收 *  * @author scd *  */public class BroadcastReceiverHelper extends BroadcastReceiver {  /** 上下文 */  private MainActivity mActivity = null;  public BroadcastReceiverHelper(MainActivity mContext) {    super();    mActivity = mContext;  }  @Override  public void onReceive(Context context, Intent intent) {    if (intent.getAction().equals(MainActivity.ACTION_SENDMESSAGE)) {      toast("發送成功");    } else if (intent.getAction()        .equals(MainActivity.ACTION_DELIVERMESSAGE)) {      toast("接收成功");    }  }  public void toast(String text) {    Toast.makeText(mActivity, text, Toast.LENGTH_SHORT).show();  }}


MainActivity類:

package com.scd.broadcastreceiver.activity;import com.scd.broadcastreceiver.R;import com.scd.broadcastreceiver.helper.BroadcastReceiverHelper;import android.app.Activity;import android.app.PendingIntent;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.IntentFilter;import android.os.Bundle;import android.telephony.gsm.SmsManager;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class MainActivity extends Activity implements OnClickListener {  private Button mButton = null;  /** 發送短信 */  public static String ACTION_SENDMESSAGE = "com.scd.broadcastreceiver.MainActivity.SendMessage";  /** 接收短信 */  public static String ACTION_DELIVERMESSAGE = "com.scd.broadcastreceiver.MainActivity.DeliverMessage";  /** Reciver類 */  private BroadcastReceiverHelper mHelperS = null;  private BroadcastReceiverHelper mHelperD = null;  /** 短信管理類 */  private SmsManager mSmsManager = null;  /** 電話號碼 */  private String mTelephone = "13607567010";  /** 短信內容 */  private String mContext = "你好,有什么需要幫助的嗎?";  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    mButton = (Button) findViewById(R.id.sendBroadcast);    mButton.setOnClickListener(this);    mSmsManager = SmsManager.getDefault();    // 注冊廣播    registerBroadcast();  }  @Override  public void onClick(View v) {    switch (v.getId()) {    case R.id.sendBroadcast: {      //發送廣播      sendBroadcastReceiver(mTelephone, mContext);      break;    }    default:      break;    }  }  /**   * 注冊廣播   */  public void registerBroadcast() {    // 發送    IntentFilter intentFilterS = new IntentFilter(ACTION_SENDMESSAGE);    mHelperS = new BroadcastReceiverHelper(MainActivity.this);    this.registerReceiver(mHelperS, intentFilterS);    // 接收    IntentFilter intentFilterD = new IntentFilter(ACTION_DELIVERMESSAGE);    mHelperD = new BroadcastReceiverHelper(MainActivity.this);    this.registerReceiver(mHelperD, intentFilterD);  }  /**   * 發送廣播 短信發送的過程:發送的時候需要發送廣播一次,接收的時候需要發送廣播一次   */  public void sendBroadcastReceiver(String telephone, String content) {    if (telephone != null) {      Intent sIntent = new Intent(ACTION_SENDMESSAGE);      // 短信成功發送后才發送該廣播      PendingIntent sentIntent = PendingIntent.getBroadcast(          MainActivity.this, 0, sIntent, 0);      Intent dIntent = new Intent(ACTION_DELIVERMESSAGE);      // 短信接收后才發送該廣播      PendingIntent deliveryIntent = PendingIntent.getBroadcast(          MainActivity.this, 0, dIntent, 0);      mSmsManager.sendTextMessage(telephone, null, content, sentIntent,          deliveryIntent);      // this.sendBroadcast(intent);    }  }}

注意:需要添加以下權限:

 

 <!-- 短信權限 -->  <uses-permission android:name="android.permission.SEND_SMS" >  </uses-permission>  <uses-permission android:name="android.permission.READ_SMS" >  </uses-permission>  <uses-permission android:name="android.permission.RECEIVE_SMS" >  </uses-permission>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩国产色| 久久综合免费视频影院| 国产精品视频1区| 日韩在线视频网| 国产精品夜间视频香蕉| 国产97在线|亚洲| 疯狂做受xxxx高潮欧美日本| 亚洲精品www久久久| 亚洲欧洲自拍偷拍| 久久综合久中文字幕青草| 欧美日韩一二三四五区| 中文字幕在线看视频国产欧美| 九九九久久国产免费| 成人在线激情视频| 成人在线激情视频| 色先锋久久影院av| 日韩av免费一区| 欧美不卡视频一区发布| 久久久伊人日本| 精品久久久视频| 亚洲国产成人av在线| 日本精品久久久| 欧美性生交大片免网| 日韩av最新在线| 国产精品一区久久久| 欧美日韩亚洲一区二区三区| 欧美激情精品久久久久久变态| 热久久免费视频精品| 日本精品va在线观看| 亚洲国产精品va在线观看黑人| 在线播放国产精品| 欧美成在线观看| 国产亚洲欧美视频| 欧美日韩电影在线观看| 国产精品久久久久77777| 亚洲国产欧美一区二区三区久久| 欧美电影在线播放| 欧美孕妇与黑人孕交| 26uuu亚洲国产精品| 亚洲免费av片| 国产精品欧美日韩一区二区| 中国日韩欧美久久久久久久久| 成人免费观看49www在线观看| 久久久天堂国产精品女人| 国产91精品网站| 日韩精品视频免费| 亚洲一区二区久久| www.日韩欧美| 国产美女扒开尿口久久久| 亚洲精品久久久一区二区三区| 亚洲毛片一区二区| 日韩av网址在线| 97成人精品视频在线观看| 成人a在线观看| 91久久精品国产91性色| 国产精品久久久久9999| 欧美国产日产韩国视频| 91影院在线免费观看视频| 91精品国产色综合久久不卡98口| 欧美成人免费va影院高清| 欧美激情精品久久久久| 欧美激情免费视频| 57pao成人永久免费视频| 欧美日韩免费一区| 日韩黄色在线免费观看| 美女福利视频一区| 宅男66日本亚洲欧美视频| 97免费在线视频| 成人中心免费视频| 最新日韩中文字幕| 国产成人亚洲综合91精品| 亚洲成人av在线播放| 国产精品成人一区二区| 亚洲欧美日韩一区二区三区在线| 九九久久精品一区| 国内精品久久影院| 亚洲人成网站免费播放| 色噜噜狠狠狠综合曰曰曰| 这里只有精品视频| 久久人人97超碰精品888| 久久av在线看| 欧洲亚洲女同hd| 91视频国产精品| 免费91麻豆精品国产自产在线观看| 国产精品免费一区豆花| 久久91亚洲精品中文字幕奶水| 色综合亚洲精品激情狠狠| 日韩有码在线电影| 日韩在线视频免费观看| 日韩精品视频免费在线观看| 欧美激情视频网| 日韩成人在线视频观看| 国产精品看片资源| 亚洲美女中文字幕| 在线成人免费网站| 黄色精品在线看| 国产精品一区二区久久| 国产亚洲免费的视频看| 日韩欧中文字幕| 国产日韩在线看| 伊人久久五月天| 亚洲第一精品夜夜躁人人躁| 亚洲精品成人免费| 日韩av不卡电影| 国产成人亚洲综合青青| 精品露脸国产偷人在视频| 国产一区二区三区中文| 韩日欧美一区二区| 日韩美女视频免费看| 国产午夜精品全部视频播放| 日韩高清中文字幕| 亚洲人成网站免费播放| 最近2019中文字幕第三页视频| 美日韩精品视频免费看| 国产精品扒开腿爽爽爽视频| 国产大片精品免费永久看nba| 欧美性高潮在线| 国产精品免费小视频| 国产精品日本精品| 久久精品亚洲一区| 国产精品久久久久久久久粉嫩av| 欧美极品在线视频| 亚洲国产欧美精品| 久久久久久久影视| 日韩少妇与小伙激情| 亚洲精品福利资源站| 午夜精品福利视频| 97国产精品视频| 日韩国产欧美精品在线| 久久久久久久爱| 亚洲第一区在线观看| 亚洲午夜女主播在线直播| 欧美日韩高清在线观看| 中文字幕久热精品在线视频| 国产精品久久久999| 欧美综合激情网| 亚洲色图综合网| 色偷偷偷综合中文字幕;dd| 欧美www视频在线观看| 欧美成人国产va精品日本一级| 狠狠久久五月精品中文字幕| 成人在线观看视频网站| …久久精品99久久香蕉国产| 久久好看免费视频| 亚洲r级在线观看| 欧美日韩成人精品| 欧美高跟鞋交xxxxhd| 亚洲欧美另类中文字幕| 亚洲精品国产电影| 色综合久久精品亚洲国产| 中文字幕久久亚洲| 亚洲欧美一区二区三区久久| 成人黄色免费在线观看| 庆余年2免费日韩剧观看大牛| 久久久亚洲精选| 日本精品久久中文字幕佐佐木| 欧美电影免费看| 少妇av一区二区三区| 国产精品中文在线| 国产精品美乳一区二区免费| 国外成人在线播放| 日本高清不卡在线| 亚洲区免费影片| 91欧美精品午夜性色福利在线|