安卓开发之广播接收器

这篇具有很好参考价值的文章主要介绍了安卓开发之广播接收器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

搞安全的,用到哪学到哪

广播的几个部分

1.发送广播的逻辑(需要先定义Intent方法,再进行send)

2.接收广播的逻辑(继承BroadcastReceiver方法)

3.开关控制广播,也就是注册广播的过程(对应的register方法)

Notice:广播注册又有动态注册和静态注册

动态注册实现广播的收发

MainActicity

package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.view.View;

import com.example.myapplication.receiver.Receiver;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        findViewById(R.id.button).setOnClickListener(this);         //添加按钮监听事件

    }

    Receiver receiver;                                              //创建接受器对象
    @Override
    public void onClick(View view) {
        Intent intent = new Intent(Receiver.action);                //创建意图对象,传入参数为要发送的广播信息
        sendBroadcast(intent);                                      //发送广播信息
    }
//实现广播接收的开关
    @Override
    protected void onStart() {
        super.onStart();
        receiver = new Receiver();

        IntentFilter filter = new IntentFilter(Receiver.action);     //创建过滤器,只接收Receiver.action的广播
        registerReceiver(receiver, filter);                          //注册接收器
    }
    @Override
    protected void onStop() {
        super.onStop();
        unregisterReceiver(receiver);                                //注销接收器
    }
}

广播接收类

package com.example.myapplication.receiver;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
//继承广播接收者类
public class Receiver extends BroadcastReceiver {
    public static final String action = "abc";                     //设置广播内容,供发送和接收使用
    @Override
    public void onReceive(Context context, Intent intent) {
        if(intent != null && intent.getAction().equals(action)){   //接收到广播打印信息
            Log.d("receiver","receiver successful");
        }
    }
}

效果 

安卓开发之广播接收器

有序广播

描述

给一堆广播设置优先级,有序接收

具体顺序
1、优先级越大的接收器,越早收到有序广播;
2、优先级相同,越早注册的接收器越早收到有序广播
实现

- 调用setPriority方法

//实现广播接收的开关
    @Override
    protected void onStart() {
        super.onStart();
        receiver = new Receiver();

        IntentFilter filter = new IntentFilter(Receiver.action);     //创建过滤器,只接收Receiver.action的广播
        filter.setPriority(8);                                       //设置优先级
        registerReceiver(receiver, filter);                          //注册接收器
    }

 静态注册(android8.0以后)

 - 需要通过component给静态注册的广播指定包名文章来源地址https://www.toymoban.com/news/detail-497453.html

@Override
    public void onClick(View v) {
        Intent intent = new Intent("广播内容");
        // 通过setComponent方法指定接收器的完整路径
        ComponentName componentName = new ComponentName(this, "receiverUrl");
        intent.setComponent(componentName);  // 设置意图的组件信息
        sendBroadcast(intent);
    }

到了这里,关于安卓开发之广播接收器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 罗技鼠标使用接收器和电脑重新配对

    罗技的鼠标出厂的时候,默认的是将通道一设置为接收器配对,在后面如果把通道一改为了蓝牙配对,那之前的接收器配对的连接就断开了。如果后面再想改为接手机配对的话,就需要借助罗技官方的软件进行手动配对了 到这里下载Unifying软件 support.logi.com/hc/zh cn/articles/360

    2024年02月03日
    浏览(25)
  • stm32---用外部中断实现红外接收器

    红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传 输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是 家用电器广泛采用,并越来越多的应用到计算机系统中。 红外遥控通信系统一般由红外发射装置和红外接收设备两大部分组成 (1) 红

    2024年02月10日
    浏览(19)
  • 小技巧:罗技一个接收器连接多个鼠标或键盘

    安装Logitech Unifying™ 优联软件: 最多可以将六个罗技 Unifying™ 优联无线鼠标或键盘连接至一只小巧又节省空间的 Unifying 优联 USB 接收器。 Unifying Software – Logitech 支持 + 下载 Unifying Software More https://support.logi.com/hc/zh-cn/articles/360025297913

    2024年02月11日
    浏览(186)
  • ikbc键盘2.4G接收器丢失,重新对码

    我的键盘:ikbc W200 1.键盘关掉重开; 2.新接收器插在电脑上; 3.电脑上打开软件,点开始对码,一会就连接上了。 对码软件放在这里:  我用夸克网盘分享了「IKBC 对码.rar」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。 链

    2024年02月16日
    浏览(132)
  • 罗技m330更换接收器(通过重新对码的方式)

    下载安装SetPoint驱动:https://support.logi.com/hc/zh-cn/articles/360025141274 在罗技setpoint驱动的安装目录里找到Connectutility.exe 将鼠标的开关关闭,再打开,完成配对。 本文方法来源: 无线鼠标更换接收器后怎样才能使用,需要对码吗?具体步骤是怎样的? - 知乎

    2024年02月11日
    浏览(30)
  • 罗技MX Keys从蓝牙连接切换为优联(无线接收器)连接

    不知道什么原因用最近MX Keys蓝牙连接mac怪卡的,按一个键按四五下电脑上才有反应。于是还是想用无线接收器连接来控制电脑。 按照壳子上按 fn+o 来切换好像不太管用。。。 于是试了很久,最后用罗技自家的键盘管理软件切换上了。 先下一个Logi Options+。 下载链接:https:

    2024年02月11日
    浏览(40)
  • 普通人也能看懂WiFi接收器怎么用的使用手册

    一般家庭或者办公场合中,仅配备一到两个的WiFi网络,就有可能造成与距离区域的人在使用wifi的时候出现网速较慢,加载卡顿的现象。WiFi接收器能够帮助原有是WiFi信号扩大他的覆盖范围,还能够提高网络速度。 如何将WiFi接收器连接到电脑: 首先,将WiFi接收器连接到电脑

    2024年02月04日
    浏览(43)
  • 用FPGA实现四通道、全频率 GNSS RF 接收器-用于卫星的精确定位

    全球导航卫星系统(英文:Global Navigation Satellite System,GNSS ),又称全球卫星导航系统,是能在地球表面或近地空间的任何地点为用户提供全天候的3维坐标和速度以及时间信息的空基无线电导航定位系统。其包括一个或多个卫星星座及其支持特定工作所需的增强系统。 全球

    2024年02月04日
    浏览(30)
  • 无线键盘有几种连接方式?(USB接收器连接(无线2.4g)、蓝牙连接、wi-fi连接、红外线连接)

    无线键盘有以下几种连接方式: 通过USB接收器连接(无线2.4g):无线键盘通过USB接收器与电脑连接,一般需要插入电脑的USB接口,然后通过无线信号与键盘进行通信。 蓝牙连接:无线键盘通过蓝牙与电脑或其他设备连接,需要在电脑或设备上开启蓝牙功能,并进行配对。

    2024年02月08日
    浏览(40)
  • Arduino Uno零基础入门学习笔记——智能时钟(可以显示温湿度)【LCD1602+DS1302+温湿度传感器+红外接收器+LED+蜂鸣器】

    需要以下几个外设 LCD1602(IIC驱动) DS1302 1-WIRE温湿度检测器 红外接收器 遥控器 两个LED(一红一蓝) 蜂鸣器 LCD1602IIC引脚 Arduino引脚 VCC 5V GND GND SDA A4 SCL A5 我这里的LCD1602是IIC的,所以只需要4根线 传感器引脚 Arduino引脚 - GND S 8 + 5V 中间的线是要接5V的 红外接收器引脚 Arduino引脚 -

    2024年02月06日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包