Android 全局广播的使用

本文介绍了Android全局广播的使用,包括无序广播和有序广播的注册与接收。通过示例展示了动态和静态注册广播接收器的方式,并解释了静态注册的优势,如实现开机启动功能。此外,文章还讨论了有序广播的特性,如何通过设置优先级控制广播接收的顺序,以及如何阻止广播的进一步传递。
摘要由CSDN通过智能技术生成

广播作为Android一个重要的组成部分,很多功能的实现都依赖于广播,Android系统在发生一些重要事情的时候都会发送广播(电量变化、网络变化等等)。我们也可以在自己得应用程序中发送广播信息,一些能够接受到特定的广播信息的广播接收器就能够接收到对应的广播信息。进而进行事件处理,那么首先我们来看一下广播的基本使用方法。

广播按照接收的有序性可以分为有序广播和无序广播,无序广播就是一个广播信息发送出去之后,能够接收到这个信息的广播接收器会同时接收到这条广播信息,而有序广播就是按照广播接收器的优先级高低依次接收广播信息,并且广播传送过程中在广播接收器中可以终止广播的传送。

广播接收器在使用之前必须要先注册,注册广播接收器可以采用静态注册和动态注册两种方式。静态注册:在Android配置文件androidmanifest.xml 中完成广播接收器的注册,动态注册:在java代码中通过registerReceiver方法完成注册,两者各有优缺点,静态注册无需等程序启动就能接收到这个广播接收器能够接收到的广播信息,但是没有动态注册那么灵活,而动态注册则是广播接收器直接在代码中完成注册,比较灵活,但是必须要等待程序运行并且注册了这个广播接收器之后,这个广播接收器才能接收广播信息(其实很好理解,就是要等到广播接收器完成注册之后才能接收广播信息)。

我们先来看一下无序广播,新建一个Android工程:
activity.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    tools:context=".MainActivity" >

    <Button
        android:id="@+id/sendBroadcastButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="发送广播" />

</LinearLayout>

MainActivity.java:

import android.os.Bundle;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends Activity {
   

    public static String ACTION = "com.example.blogBroadcasts.MY_BROADCAST";
    private IntentFilt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值