温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Android - Intent广播(broadcast)

发布时间:2020-06-29 05:05:08 来源:网络 阅读:523 作者:morndragon 栏目:移动开发

Intent广播(broadcast)


本文地址: http://blog.csdn.net/caroline_wendy/article/details/21590339


Intent可以使用sendBroadcast(), 在应用组件之间广播事件;

使用BroadReceiver类监听和响应Broadcast Intent, 需要注册(register)过滤器(intent-filter);


1. 创建Broadcast Intent

构建需要广播的Intent, 包含Intent标识字符串, 和数据(data, extras), 使用sendBroadcast()发送;

Intent标识字符串, 可以标识要广播的字符串, 应该是能够标志的唯一字符串,

public static final String [ACTION_STRING] = "[mzx].[clwang].action.[ACTION_STRING]";

Intent包含数据, 进行广播, 可以使用data属性指定一个URI, 可以在extras添加额外的基本值;

Intent intent = new Intent("[mzx].[clwang].action.[ACTION_STRING");

sendBroadcast(intent);


2. 接收Broadcast Intent

使用Broadcast Receiver来监听Broadcast Intent, 在代码或manifest中注册, 使用Intent FIlter表明监听的Intent(标识符)和数据;

应用程序可以被Intent启动, 可以创建事件驱动的应用程序;

Broadcast Receiver, 继承BroadcastReceiver类, 重写onReceive事件, 进行处理, 必须在5秒之内完成;

代码注册:

注册BroadcastReceiver, 需要使用IntentFilter, 指明标识符; 使用BroadReceiver类, 指明接收器;

注册: registerReceiver(receiver, filter); 注销:unregisterReceiver(receiver);

Manifest注册:

<receiver android:name = ".[Receiver]">

    <intent-filter>

        <action android:name="[mzx].[clwang].action.[ACTION_STRING">

    </intent-filter>

</receiver>



Android - Intent广播(broadcast)

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI