android怎么发送特定广播的?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android怎么发送特定广播的?相关的知识,希望对你有一定的参考价值。
起一个线程,每发一个广播后就sleep一分钟,如此循环。(或者接受系统的timechanged这个广播,这个广播好像一分钟发一次)。android 在发送广播时的方法 sendBroadcast(Intent)。
①:Intent myIntent = new Intent();——【创建Intent对象】
②:myIntent.setAction(String)——【设置一般的要执行的动作。参数:动作一个动作的名称,如ACTION_VIEW。应用程序的具体行动,应与供应商的包名作为前缀。】
③:myIntent.putExtra(String,Object)——【广播中额外发送的数据,String为自定义key,Object表示多种数据类型】
④:sendBroadcast(myIntent);——【发送广播】
接收广播
Android在接收广播的方法是注册一个广播接收器 registerReceiver(MyReceiver,IntentFilter)。
①:首先创建MyReceiver类(类名自定义) 继承 BroadcastReceiver类。——【创建广播接收器】
②:在MyReceiver中重写public void onReceive(Context context, Intent intent)方法。这个方法在接收到广播后触发。——【重写处理方法】
③:在Activity或者Service启动时 onCreate()、onStartCommand()等方法中实例化 MyReceiver类——【启动时实例化广播接收器】
④:IntentFilter filter = new IntentFilter();——【创建IntentFilter对象 意图过滤器】
⑤:filter.addAction(String);——【在过滤器中加入过滤条件,说明接收什么广播】
⑥:registerReceiver(cmdReceiver, filter);——【注册广播,参数为(广播接收器,意图过滤器)】 参考技术A Intent mIntent = new Intent(“com.android.custom.broadcast”);
context.sendBroadcast(mIntent);
这是发的,当然得写相应的接收
Android 使用udp发送广播
参考技术A 最近做项目时,遇到一个对新人我来说稍微有点麻烦的事情!那就是使用udp协议发送广播获取服务器地址!
http都好说,github开源项目不知道有多少。
可是再难的问题也要去解决!
发送广播需要权限!
AndroidManifest.xml 中添加:
最少这三个是必须的,多的也忘了!
原因后面会讲到
使用到RxJava:
udp发送与接受都需指定端口号
广播地址是255.255.255.255
在之前添加权限的时候CHANGE_WIFI_MULTICAST_STATE有添加这个
往下面看
接下来我们开启接收udp信息
发送消息?
谢谢该作者的文章让我学会udp发送
https://blog.csdn.net/tanghongchang123/article/details/53609237
以上是关于android怎么发送特定广播的?的主要内容,如果未能解决你的问题,请参考以下文章