Android自定义一个广播接收器BroadcastReceiver监听本地消息

原创 2017年01月03日 12:42:11

概述

BroadcastReceiver-广播接收器。它有两部份功能:1.发送广播消息,2.接受广播消息并处理。比如系统可以发出一种广播来测试是否接收到短信,这时候就可以定义一个BroadcastReceiver来接收广播。
实现广播发送和接收处理包含四个步骤:
  1. 注册广播
  2. sendBroadcast(Intent对象)
  3. 满足条件的广播接收器调用onReceive()方法
  4. 销毁广播接收器

注册文件

<receiver android:name=".MainReceiver"/>

布局


    <EditText
        android:id="@+id/edt_username"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/btn_write"
        android:text="send"
        android:onClick="send"
        android:textAllCaps="false"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/edt_username"
        android:layout_alignParentStart="true" />

java代码

activity发送

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
/**
 * Created by Sy on 2017/1/3 0003.
 */
public class MainActivity extends Activity {
    private EditText ed_show;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);
        ed_show= (EditText) findViewById(R.id.edt_username);

    }
    public void send(View v){
        Intent intent=new Intent(this,MainReceiver.class);
        String message=ed_show.getText().toString();
        intent.putExtra("msg",message);
        sendBroadcast(intent);
    }
}

BroadcastReceiver子类接收广播

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;
/**
 * Created by Sy on 2017/1/3 0003.
 */
public class MainReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        String message=intent.getStringExtra("msg");
        Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
    }
}

总结

值得注意的时,如果应用被销毁,广播也会随着销毁。
版权声明:本文为博主原创文章,请随意转载。

广播接收者和自定义广播

广播接收者和自定义广播广播接收者监听广播的步骤 定义一个类,这个类继承BroadCastReceiver,实现它的onReceive()方法SdcardReceive extends Broadcas...
  • csdn_liuwen
  • csdn_liuwen
  • 2015年09月11日 15:24
  • 2527

Android-广播BroadcastReceiver-自定义广播接受者和发送者

转载请说明出处  最近在做公司新产品的设计,想到抽屉效果设计加入到项目应该挺不错的,一方面可以讲经常使用的功能模块直接显示给用户,另一方面将用户不常用的功能模块隐藏起来,而这些功能模块的显示和隐藏可...
  • dzzzheng95
  • dzzzheng95
  • 2017年02月07日 20:24
  • 2598

Android 四大组件之一 :BroadCastReceiver 广播接收器详解

转自: http://yangguangfu.iteye.com/blog/1063732 BroadCastReceiver简介BroadCastReceiver源码位于:framework/...
  • Simon_Crystin
  • Simon_Crystin
  • 2017年03月29日 11:58
  • 594

Android广播接收器监听多个广播及多个广播接收器监听同一个广播_广播之二

_就可以了, 例:以下的MyBroadcastReceiver可以同时监听farsight.inf1和farsight.inf2类型的广播                  ...
  • far_sight
  • far_sight
  • 2012年12月04日 15:57
  • 7586

广播接收器的生命周期及使用

一:Android 广播的生命周期     一个广播接收者有一个回调方法:void onReceive(Context curContext, Intent broadcastMsg)。 当一个广...
  • shangandeyu_kun
  • shangandeyu_kun
  • 2016年03月30日 07:50
  • 948

android BroadcastReceiver详细讲解1-自带的广播接受器-拨号、短信、卸载/安装、开机启动

android中自带的广播接受器在上一篇文章中SD卡的监听 下面我继续来介绍安装与卸载的监听 我们先了解android中安装与卸载的action ...
  • su19921021
  • su19921021
  • 2015年11月18日 10:41
  • 755

Android学习之四大组件之广播接收器BroadcastReceiver

BroadcastReceiver顾名思义也就是说"广播接收器"的意思,它用来接收系统和应用中的广播。作为四大组件之一想必大家肯定比我更熟悉。...
  • qq_23940659
  • qq_23940659
  • 2016年02月28日 10:41
  • 522

BroadcastReceiver 广播 系统全局的 消息发送及接收(未完成)

BroadcastReceiver的两种注册方式等
  • u011809714
  • u011809714
  • 2016年03月02日 20:42
  • 1649

BroadcastReceiver(一)在AndroidManifest.xml中配置的广播接收器(自动注册注销)

  • czcdms
  • czcdms
  • 2015年04月28日 14:16
  • 626

BroadcastReceiver中使用自定义Permission

BroadcastReceiver中使用自定义Permission          对于权限的使用,我想进行过android开发的都用过,比如:我们需要进行与网络相关的操作时,就必须在manif...
  • huliang7777
  • huliang7777
  • 2012年12月24日 21:13
  • 1186
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android自定义一个广播接收器BroadcastReceiver监听本地消息
举报原因:
原因补充:

(最多只允许输入30个字)