Android启动广播时怎样往广播中传递参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android启动广播时怎样往广播中传递参数相关的知识,希望对你有一定的参考价值。

我们在android中使用广播来让其他监听广播的地方能够对相应的事情做处理,但有的时候我们仍然需要传递一些其他的附带值,而这个时候是可以直接用播放广播的intent来传递的。
例:
Intent intent = new Intent();
intent.putExtra("msgPersons", msgPersons);
intent.setAction(Constant.hasMsgUpdatedAction);
intent.putExtra("userId", userId);
intent.putExtra("msgCount", messages.size());
sendBroadcast(intent);
监听广播的代码:
if (type.equals(Constant.hasMsgUpdatedAction))
if (obj instanceof Intent)
Intent intent = (Intent) obj;
String msgPersons = intent.getStringExtra("msgPersons");
.......


这里的obj实际上是广播监听函数public void onReceive(String type, Object obj)中的第二个参数。当时看到这个函数的时候,一直不明白第二个参数的作用,后来才发现,原来还可以通过它来得到intent。
参考技术A 在android中使用广播来让其他监听广播的地方能够对相应的事情做处理,但有的时候需要传递一些其他的附带值,而这个时候是可以直接用播放广播的intent来传递的。
例:
Intent intent = new Intent();
intent.putExtra("msgPersons", msgPersons);
intent.setAction(Constant.hasMsgUpdatedAction);
intent.putExtra("userId", userId);
intent.putExtra("msgCount", messages.size());
sendBroadcast(intent);
参考技术B 放到sendBroadcast的intent里面,在onReceive时去出来。追问

广播也可以这样使用intent传递数据吗?

追答

本回答被提问者采纳
参考技术C 不同手机有不同方式吧追问

广播也可以这样使用intent传递数据吗?

android广播

普通广播:

1.在AndroidManifest.xml中配置广播接收器:





2.需要继承一个BroadcastReceiver对象

3.将消息通过intent方法传递出去

4.最后需要调用context的sendBroadcast(intent)方法

有序广播:与常规广播一样,但是有序广播拥有优先级,需要多个接收器,而传递的消息可以在任何一处终止,也可以在任何一处添加消息,但是传播的消息需要以包()的形式传递,

比如:

Bundle bundle=new Bundle();
bundle.putString("mes2", "01已收到");
setResultExtras(bundle);

而接收器需要得到包中的消息需要用Bundle bundle = getResultExtras(true);接收。

系统广播:

通知(Notification):

1.主要涉及的3大类:

Notification.builder用于动态的Notification的属性set来设置

NotificationManager主要是通知的显示和取消显示

Notification设置Notification的相关属性

2.发送Notification需要

1).调用getSystemService(NOTIFICATION_SERVICE)方法获取系统的NotificationManager服务

2).创建Notification对象

3).设置Notification属性

4).通过NotificationManager发送Notification

5).发送notify 取消cancel







以上是关于Android启动广播时怎样往广播中传递参数的主要内容,如果未能解决你的问题,请参考以下文章

Android:日常学习笔记———探究广播机制

Android广播接收器和Activity间传递数据

Android:安卓学习笔记之广播机制的简单理解和使用

Android本地广播的使用

Android中Intent具体解释之使用Intent广播事件及Broadcast Receiver简单介绍

android 广播分类