Android开始之 BroadcastReceiver

清单文件中定义:

 1 <receiver android:name=".MyBroadcastReceiver" >
 2             <intent-filter>
 3                 <action android:name="abc" />
 4             </intent-filter>
 5         </receiver>
 6         <receiver android:name=".MyBroadcastReceiver2" >
 7             <intent-filter>
 8                 <action android:name="abc" />
 9             </intent-filter>
10         </receiver>
11         <receiver android:name=".MyBroadcastReceiver3" >
12             <intent-filter>
13                 <action android:name="abc" />
14             </intent-filter>
15         </receiver>

--------------- MyBroadcastReceiver------------------------

 1 public class MyBroadcastReceiver extends BroadcastReceiver {
 2     private NotificationManager manager;
 3
 4     public MyBroadcastReceiver() {
 5         // TODO Auto-generated constructor stub
 6     }
 7
 8     // 广播中不使用dialoog,,可以使用NotificationManager
 9     // 广播的生命周期就是onReceive
10     @Override
11     public void onReceive(Context context, Intent intent) {
12         // TODO Auto-generated method stub
13         manager = (NotificationManager) context
14                 .getSystemService(Context.NOTIFICATION_SERVICE);
15         String name = intent.getStringExtra("name");
16         NotificationCompat.Builder builder = new NotificationCompat.Builder(
17                 context);
18         builder.setTicker("广播来了");
19         builder.setSmallIcon(R.drawable.ic_launcher);
20         builder.setContentTitle("没网了");
21         builder.setContentText("WiFi掉了" + name);
22         manager.notify(1001, builder.build());
23
24         // Toast.makeText(context, "hello" + name, 0).show();
25
26     }
27
28 }

-----------------MainActivity ------------------------

 1 public class MainActivity extends ActionBarActivity {
 2     private Button button;
 3
 4     @Override
 5     protected void onCreate(Bundle savedInstanceState) {
 6         super.onCreate(savedInstanceState);
 7         setContentView(R.layout.fragment_main);
 8         button = (Button) findViewById(R.id.button1);
 9         button.setOnClickListener(new View.OnClickListener() {
10
11             @Override
12             public void onClick(View v) {
13                 // TODO Auto-generated method stub
14                 Intent intent=new  Intent();
15                 intent.setAction("abc");
16                 intent.putExtra("name", "zy");
17                 sendBroadcast(intent);
18             }
19         });
20
21     }
时间: 2024-11-04 18:49:54

Android开始之 BroadcastReceiver的相关文章

Android 广播接收者 BroadcastReceiver

Android广播分为两个方面:广播发送者和广播接收者,通常情况下,BroadcastReceiver指的就是广播接收者(广播接收器).广播作为Android组件间的通信方式,可以使用的场景如下:1.同一app内部的同一组件内的消息通信(单个或多个线程之间): 2.同一app内部的不同组件之间的消息通信(单个进程): 3.同一app具有多个进程的不同组件之间的消息通信: 4.不同app之间的组件之间消息通信: 5.Android系统在特定情况下与App之间的消息通信. 从实现原理看上,Andro

Android面试,BroadCastReceiver的两种注册方式的异同

在Android手机应用程序中开发中,需要用到BroadcastReceiver来监听广播的消息.在自定义好BroadcastReceiver ,需要对其进行注册,注册有两种方法: 一种是在代码当中注册,注册的方法是registerReceiver(receiver,filter)(用Activity的实例来调用),取消注册的方法:unregisterReceiver(receiver),如果一个BroadcastReceiver用于更新UI(User Interface),那么通常会使用这种方

Android开发之BroadcastReceiver详解

BroadcastReceiver,顾名思义就是"广播接收者"的意思,它是Android四大基本组件之一,这种组件本质上是一种全局的监听器,用于监听系统全局的广播消息.它可以接收来自系统和应用的的广播. 由于BroadcastReceiver是一种全局的监听器,因此它可以非常方便地实现系统不同组件之间的通信.比如Activity与通过startService()方法启动的Service之间通信,就可以借助于BroadcastReceiver来实现. BroadcastReceiver简

Android开发之BroadcastReceiver的使用

1.静态注册. 在manifest中注册. 1 <receiver android:name="com.exce.learnbroadcastreceiver.MyReceiver"></receiver> 然后在activity中使用sendBroadcast(Intent)方法.其中参数是Intent. 1 Intent intent=new Intent(this,MyReceiver.class); 2 intent.putExtra("dat

Android开发之BroadCastReceiver

创建广播接收者:只需新建一个类继承自BroadcastReceiver,然后重写onReceive方法 注册广播的方式有两种: 1.静态注册:即在清单文件中注册,例如下面监听打电话的广播: <receiver android:name=".MyBroadcastReceiver"> <intent-filter> <action android:name="android.intent.action.NEW_OUTGOING_CALL"

android笔记:BroadcastReceiver

android允许应用程序自由地发送和接收广播. 广播是通过Intent进行数据传递的.接收广播则通过Broadcast Receiver(广播接收器)实现. 广播分为:标准广播和有序广播. 标准广播:一种完全异步执行的广播,在广播发出之后,所有的广播接收器几乎都会在同一时刻接收到这条广播消息,因此它们之间没有任何先后顺序可言. 有序广播:广播接收器是有先后顺序的,优先级高的广播接收器就可以先收到广播消息,并且前面的广播接收器还可以截断正在传递的广播,这样后面的广播接收器就无法收到广播消息了.

Android中 广播BroadcastReceiver

一.IP拨号器 activity_main.xml文件: 只有一个输入ip的文本框和一个保存按钮, <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_h

Android 利用Service BroadcastReceiver实现小例子

Activity: 1 package com.example.test; 2 3 import android.app.Activity; 4 import android.content.Context; 5 import android.content.Intent; 6 import android.content.IntentFilter; 7 import android.os.Bundle; 8 import android.view.Menu; 9 import android.

Android四大套件BroadCastReceiver

概述:BroadcastReceiver用于接收并处理广播通知(broadcastannouncements). 多数的广播是系统发起的,如地域变换.电量不足.来电来信等.程序也可以播放一个广播.程序可以有任意数量的 broadcast receivers来 响应它觉得重要的通知.broadcast receiver可以通过多种方式通知用户:启动activity.使用 NotificationManager.开启背景灯.振动设备.播放声音等,最典型的是在状态栏显示一个图标,这样用户就可以点它打开

Android学习笔记--BroadcastReceiver

---恢复内容开始--- 过了一个没有假期的10.1,今天来把之前学的东西复习一下,BroadcastReceiver,Android四大组件之一,为什么这么说,百度一下,你就知道, BroadcastReceiver分为两种广播,一种是常驻型,一种是非常驻型,常驻型是在XML中国注册的被称为常驻型,在代码中注册的被称作为非常驻型, 第一步,先建立一个JAVA文件,继承与BroadcastReceiver类, MyBind.java 1 package com.wuxianedu.guangbo