学习
实践
活动
专区
工具
TVP
写文章
  • 广告
    关闭

    热门业务场景教学

    个人网站、项目部署、开发环境、游戏服务器、图床、渲染训练等免费搭建教程,多款云服务器20元起。

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    代码注册广播接收者&利用广播调用服务的方法

    类继承系统的Service类 添加一个自定义的服务的方法callServiceMethod(),我们目的要调用的方法 新建一个内部类MyReceiver继承系统的Receiver类 广播接收者既能通过清单文件注册 ,也可以通过代码的方式注册,这是四大组件中唯一的特殊的一个 在MyService中创建一个MyReceiver的成员变量 在服务创建的时候,注册广播接收者,在onCreate()方法里面 调用registerReceiver (receiver,filter)方法,注册这个广播接收者,参数:receiver是BroadcastReceiver对象,通过new MyReceiver()来创建,filter是IntentFilter 会调用MyReceiver对象的onReceive()方法,在这个方法里面可以去调用服务的私有方法,比如callServiceMethod() 当服务销毁的时候,解除注册的广播接收者,在onDestroy ()方法里面,调用unResisterReceiver(receiver),参数:广播接收者对象 MainActivity.java package com.tsh.broadcallservice;

    57020

    Android基础总结(4)——广播接收

    Android提供了一整套完整的API,允许应用程序自由地发送和接收广播。发送广播就是借助之前了解过的Intent,接收广播则需要用到广播接收器(Broadcast Receiver)。. 1、广播的类型 标准广播:Normal broadcast,是一种完全异步执行的广播,在广播发出之后,所有的广播接收器几乎都会在同一时刻接收到这条广播消息,因此他们之间没有任何先后顺序可言。 有序广播:Ordered broadcast,是一种同步执行的广播,在广播发出之后,同一时刻只会有一个广播接收器能够接收到这条广播,当这个广播接收器中的逻辑执行完毕后,广播才会继续传递。 所以此时的广播接收器是有顺序的,优先级高的广播接收器可以先接受到广播消息,并且前面的广播接收器还可以截断正在传递的广播,这样后面的广播接收器就无法收到广播消息了。 3、广播接收器的注册   广播接收器可以自由地对自己感兴趣的广播进行注册,这样才能在有相应的广播发出时,广播接收器就能够收到该广播,并在内部进行相应的逻辑处理。

    446100

    基于 Redis 实现 Laravel 广播功能(中):引入 Laravel Echo 接收广播消息

    接下来我们需要借助 Laravel Echo Server 搭建起 Websocket 服务器,这里面除了封装 Socket.io 服务端之外,还包含了订阅服务端广播频道的 Redis 客户端,用于接收服务端 Redis 发布的消息,再通过 Socket.io 广播给客户端。 至此,我们就将前面基于 Redis + Socket.io 原生代码实现的事件广播功能重构为了基于 Laravel 广播组件 + Laravel Echo Server + Laravel Echo 实现的完整广播系统了 ,这样一来,我们就可以使用 Laravel 广播系统提供的所有功能了,包括事件广播的推送和接收、私有频道、存在频道等。 这个时候,查看 laravel-echo-server 的日志,就可以看到服务端发布的事件消息已经被 Laravel Echo Server 中的 Redis 接收处理了: ?

    90910

    Android BroadcastReceiver接收收到短信的广播

    3、使用场景:   ①当手机没有电时,会告知用户“电量低”的广播信息。可以做到正在使用的app就会接收到这个广播消息,如果是游戏可能是提醒保存数据,如果是正在使用的工作软件,可能提醒接上电源。 4、一个程序发出广播信息,一个程序接收广播信息,所以至少需要2个程序才能完成一发一收。发的一方,叫广播发送方;收的一方,叫广播接收者。   5、广播接受者需要进行注册。 方法,如果执行,代表已经接收广播   ④定义收到信息广播接收者,属于系统广播,则需要申请权限(静态,动态) 【项目结构】 ? 【小结】   ①这里是接收系统广播,也可以自己定义广播。以及可以添加很多功能,接收广播进行特定的操作。    ②广播必须添加过滤器,对特定的广播进行接收   ③如果是接收系统广播要进行权限的申请,5.0之后一定要进行动态权限申请才可以 以上就是本文的全部内容,希望对大家的学习有所帮助。

    1.3K20

    手机卫士接收打电话广播显示号码归属地

    使用广播接收接收打电话的意图,显示号码归属地 新建一个类OutCallReceiver继承系统的BroadcastReceiver 重写onReceive()方法 调用getResultData()方法 import android.content.Context; import android.content.Intent; import android.widget.Toast; /** * 接收打电话广播 :name=”android.intent.action.NEW_OUTGOING_CALL” 需要权限,android.permission.PROCESS_OUTGOING_CALLS 代码注册广播 此时的广播接收者,只要一打电话就会被调用,用户体验不好,我们使用代码注册广播接收者,用设置中心的开启监听电话来电的部分来控制这个广播 在服务里面调用registerReceiver()方法,注册广播, 获取IntentFilter对象,调用IntentFilter对象的addAction()方法,参数:android.intent.action.NEW_OUTGOING_CALL 在服务里面解除注册广播

    58240

    Android利用广播接收器实现自动填充短信验证码

    今天博主带给小伙伴们一个小功能,就是利用广播接收器实现自动填充短信验证码,话不多说,我们先看看如何去实现这个小功能。 首先我们需要新建一个名为SMSBroadcastReceiver的广播接收器,代码如下: public class SMSBroadcastReceiver extends BroadcastReceiver { System.out.println(m.group()); return m.group(0); } return null; } } 至此我们短信的广播接收器就完成了 之后我们需要完成注册广播接收器以及填写验证码的代码,完成代码如下: private void initSmsReader(){ public static final String SMS_RECEIVED_ACTION (); //实例化过滤器并设置要过滤的广播 IntentFilter intentFilter = new IntentFilter(SMS_RECEIVED_ACTION);

    91020

    安卓应用安全指南 4.2.1 创建使用广播接收器 示例代码

    4.0 接收广播需要创建广播接收器。 表 4.2:广播接收器的类型定义: 类型 定义 私有 只能接收来自相同应用的广播广播接收器,所以是最安全的 公共 可以接收来自未指定的大量应用的广播广播接收器 内部 只能接收来自其他内部应用的广播广播接收器 4.2.1.1 私有广播接收器 私人广播接收器是最安全的广播接收器,因为只能接收到从应用内发送的广播。 动态广播接收器不能注册为私有,所以私有广播接收器只包含静态广播接收器。 公共广播接收器是可以从未指定的大量应用程序接收广播广播接收器,因此有必要注意,它可能从恶意软件接收广播

    7820

    安卓应用安全指南 4.2.3 创建使用广播接收器 高级话题

    : 类型 特性 普通 普通广播发送到可接收广播接收器时消失。 广播由多个广播接收器同时接收。 这与有序广播有所不同。 广播被允许由特定的广播接收接收。 有序 有序广播的特点是,可接收广播接收器依次接收广播。 优先级较高的广播接收器较早收到。 当广播被传送到所有广播接收器或广播接收器调用abortBroadcast(),广播将消失。 广播被允许由声明了特定权限的广播接收接收。 另外,广播接收器发送的结果信息,可以由发送者使用有序广播接收。 SMS 接收通知的广播(SMS_RECEIVED)是有序广播的代表性示例。 广播的特征行为 普通 有序 粘性 粘性有序 由权限限制的广播接收器可以接收广播 OK OK - - 从广播接收器获得过程结果 - OK - OK 使广播接收器按顺序处理广播 - OK - OK 稍后收到已经发送的广播

    9210

    安卓四大组件之Broadcast Receiver-广播接收

    1、描述广播接收者 BroadCastReceiver是安卓中四大组件之一,主要用于接收系统或者APP发送的广播事件。 缺点是一个接受者不能将处理结果传递给下一个接受者,并且无法终止广播。 有序广播:按照被接收者的优先级别,在被接收者中依次传播。 如果比他优先级高的广播接收者中断了广播,那么它一样可以接收广播。 静态注册的广播接受者只要APP在系统中运行,则一直可以接收广播,动态注册的广播接受者当注册的Activity或者Service摧毁的时候那么就接收不到广播了。 a.广播接收者生命周期短暂,在接收广播的时候创建,onReceive方法结束后销毁 b.广播接收者中不要做耗时的操作,否则会弹出ANR错误对话框 c.最好也不要在广播接收者中创建子线程做耗时的工作

    57620

    redis广播模式_广播

    介绍 BroadcastReceiver 是 Android 的四大组件之一,它作用于应用内、进程间重要的一种通信方式,能够将某个消息通过广播的形式传递给订阅的广播接收器中,下面我们就来分析一下 广播注册到接收到消息 ContextImpl 的 registerReceiverInternal 这个函数,这里的成员变量 mPackageInfo 是一个 LoadApk 实例,它是用来负责处理广播接收。 注释 4 只是把广播接收器保存起来,但是还没有和 filter 关联起来,这里就创建一个 BroadcastFilter 来把广播接收器列表 rl 和 filter 关联起来,然后保存在 AMS 成员变量 mReceiverResolver 中,这样,就将广播接收器和要接收广播类型的接收器 filter 保存在 AMS 中了,以后就能接到到相应的广播并做处理了。 onReceive 时序图 在 Activity 通过 sendBroadcast 发送一个广播最后 Binder 发送给 AMS , AMS 根据这个广播的 Action 类型找到相应的广播接收器,

    14210

    安卓应用安全指南 4.2.2 创建使用广播接收器 规则书

    由于公共广播接收器从未指定的大量应用接收意图,它可能会收到恶意软件的攻击意图。 私有广播接收器将永远不会直接从其他应用接收任何意图,但公共组件从其他应用接收的意图数据,可能会转发到私有广播接收器。 对于广播敏感信息,只有可靠的广播接收器可以接收它,而其他广播接收器则不能。 以下是广播发送方法的一些示例。 方法是,通过使用显式意图,将广播仅仅发送给预期的可靠广播接收器,来固定地址。 另一方面,粘性广播(以下粘性广播包括粘性有序广播)即使由可用的广播接收接收也不会从系统中消失,并且能够由registerReceiver()接收。 有序广播用于接收来自接收器的返回信息,并使几个接收器逐一执行处理。 广播按优先顺序发送给接收器。 当发送方(源)广播接收器是公共广播接收器时,它从未指定的大量应用接收返回数据。 所以它也可能会收到恶意软件的攻击数据。 当发送方(源)广播接收器是私有广播接收者时,似乎没有风险。

    13830

    扫码关注腾讯云开发者

    领取腾讯云代金券