`
zhanhao
  • 浏览: 284901 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android广播接受者

阅读更多

Intent对象除了应用于Activity之间的通信外,还可以用于Broadcast,与Activity类似,广播有系统广播,也可以自定义广播,

可以实现很多效果(短信广播,开机广播,电量广播等)

1.接收系统广播

   流程:分为两步

     (1) 编写一个类继承自 android.content.BroadcastReceiver 并实现onReceive()方法(接收到广播是会调用这个方法)

      (2)在AndroidManifest.xml文件中的<application>节点下注册广播接收者(receiver节点):

        使用<receiver>标签指定要接收哪一个广播和注册你编写的接收广播的类

         eg:接收开机启动广播

         编写类

public class MyReceiver extends BroadcastReceiver
{

 @Override
 public void onReceive(Context context, Intent intent)
 {
  Intent mainIntent = new Intent(context, Main.class);
  mainIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  context.startActivity(mainIntent);
  Log.d("info","第一个运行的应用");
 }

}

     在AndroidManifest.xml 中注册

<receiver android:name="MyReceiver">
   <intent-filter>
   <!-- 指定要接收的广播 -->
    <action android:name="android.intent.action.BOOT_COMPLETED" />
    <!-- 指定接收的Action广播的种类,该种类表示系统启动后第一个运行的应用 -->
    <category android:name="android.intent.category.HOME" />
   </intent-filter>
   
  </receiver>

 

2.在自己的应用中发送广播

发送广播也要依赖Intent

流程:创建Intent实例,指定发送广播的Action ,通过Activity实例的sendBroadcast();方法发送广播,

只要是在AndroidManifest.xml中注册的广播接收者并且<action>节点的内容与创建Intent时的Action相同就会接收到广播调用onReceive()方法

eg:

Intent inent = new Intent("com.myreceiver");

sendBroadcast(intent);

当然你也可以传参数 与activity传参类似

然后由 onReceive(Context context,Intent intent);方法得到参数

 

1
1
分享到:
评论

相关推荐

    关于 android四大组件之一广播接受者

    android四大组件之一广播接受者用法介绍,广播接受者的基本用法和使用过程中应该注意的地方

    广播接受者注册1

    广播接受者注册1

    广播接受者的小例子

    用于博客中的Demo

    android 广播

    android 四大组件之一:广播接受者的简单介绍及使用详解

    android Wifi状态监听管理公共类

    Register()方法可以注册一个监听wifi状态的广播接受者,需要用户传入一个实现抽象类的对象实现回调方法,包括监听Wifi打开和关闭,是否通过wifi连接到网络,是否连接到网络等;广播接受者接收到相应的wifi以及网络...

    Android系统中的广播Broadcast,Receiver例子

    Android系统中的广播Broadcast,Receiver例子,可以用LogCat察看整个运行的生命周期.MainActivity界面上有两个按钮,分别是Start Counter和Stop Counter按钮,点击前者开始计数,而点击后者则停止计数。

    072集-静态和动态注册广播接收者

    072集-静态和动态注册广播接收者视频教程,讲解的比较详细,可以参考下哦。

    接收广播的最高优先级

    @SuppressLint("NewApi") public class MainActivity extends Activity { SmsReceiver myReceiver; Button btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate...

    利用两个广播保证唯一一个实例在运行

    利用两个广播接受者保证唯一一个实例在运行。

    Android BroadcastReceiver接收收到短信的广播

     1、broadcastReceiver是广播接受者,四大组件之一。  2、Android中内置了很多系统级别的广播,可以在应用程序中得到各种系统的状态信息。  3、使用场景:  ①当手机没有电时,会告知用户“电量低”的广播信息。...

    android Wifi 状态监听管理公共类

    Register()方法可以注册一个监听wifi状态的广播接受者,需要用户传入一个实现抽象类的对象实现回调方法,包括监听Wifi打开和关闭,是否通过wifi连接到网络,是否连接到网络等;广播接受者接收到相应的wifi以及网络...

    利用广播获取手机 实时电量信息

    利用广播获取手机 实时电量信息

    Android基础知识之broadcast广播详解

    Android中的广播用的太多了,今天稍微总结一下...先看看广播接受者: public class MyBroadcast extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Toast.makeText

    指尖疯Android4.4视频第17集:BroadcastReceiver

    广播,这个诞生于1906年的科技产品,持续...Android通过广播机制,能够让订阅者接受到想听到的广播,并进行进一步的处理和操作。如果你想在虚拟的android世界中创建属于你自己的电台广播,那么就赶紧点击本集视频观看吧

    Android之广播Broadcast

    广播接受者MyBroadcastReceiver1.java public class MyBroadcastReceiver1 extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Log.i(test, 自定义的广播接收者,...

    Broadcast-有序广播

    Android有序广播(Ordered Broadcast)的实现:接受者按声明的优先级依次接收广播

    Android学习笔记.pdf

    包括环境搭建教程、创建模拟器、新建helloworld程序、电话拨号器、软件部署到模拟器、短信发送器、线性布局、相对布局、日志、activity、Android进程线程及优先级、Android UI线程阻塞及优化、广播接受者、Service...

    Android如何实现接收和发送短信

    每一部手机都具有短信接收和发送功能,下面我们通过代码来实现接收和发送短信功能。  一、接收短信 1、创建内部广播接收器类,...RelativeLayout xmlns:android=http://schemas.android.com/apk/res/android androi

    Android高级编程--源代码

    手机从来没有像今天这样流行,强大的智能手机产品已经为消费者所普遍接受。诸如GPS、加速计和触摸屏等外观时尚且用途广泛的手机功能硬件,正在吸引越来越多的开发者创建各种新颖有趣的移动应用程序。  虽然设计...

Global site tag (gtag.js) - Google Analytics