重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1、用接口传。定义一个接口 让 Activity实现这个接口,然后接受者调用接口里面的方法把要传递的参数传进去。
成都创新互联是一家专业提供下花园企业网站建设,专注与成都网站制作、网站建设、外贸网站建设、HTML5、小程序制作等业务。10年已为下花园众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。
2、一种是像楼主所说的,在Activity里注册一个BroadcastReceiver,Service完成某个任务就可以发一个广播,接收器收到广播后通知activity做相应的操作。
3、解决:1)定义一个接口 让 Activity实现这个接口;2)接受者调用接口里面的方法把要传递的参数传进去。
广播(Broadcast)机制用于进程/线程间通信,广播分为广播发送和广播接收两个过程,其中广播接收者BroadcastReceiver便是Android四大组件之一。
Android广播机制包含三个基本要素:广播(Broadcast) - 用于发送广播;广播接收器(BroadcastReceiver) - 用于接收广播;意图内容(Intent)-用于保存广播相关信息的媒介。Broadcast是一种广泛运用的在应用程序之间传输信息的机制。
在Android中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制。而BroadcastReceiver是对发送出来的 Broadcast进行过滤接受并响应的一类组件。
android的粘性广播,是指广播接收器一注册马上就能接收到广播的一种机制,当然首先系统要存在广播。而普通广播就是要先注册广播接收器,然后广播被发送到系统,广播接收器才能接收到广播。
以下广播简称Broadcast 是Android四大组件之一,在四大组件的另外两个组件 和 拥有发送和接收广播的能力。
Android广播机制指的是,在一个应用程序运行的时候可以自定义一个消息类型,让相应的接收器去处理这个消息或者是系统消息,比如来Tel 了、来短信了、手机没电了等等系统发送的消息。
如果要做耗时操作,应该通过发送Intent给Service,让Service来完成。广播不能使用子线程来解决,因为BroadcastReceiver的生命周期很短,子线程还没结束,Broadcast可能就结束了。
无序广播存储在mParallelBroadcasts中, 系统会遍历这个集合并将其中的广播发送给他们所有的接收者, 具体的发送过程是通过deliverToRegisteredReceiverLocked()方法实现。
在这里我们创建一个继承于BroadcastReceiver的类LocalReceiver。
我们既可以用Intent来启动一个组件,也可以用sendBroadcast()方法发起一个系统级别的事件广播来传递消息。
Intent i = new Intent(“android.intent.action.BOOT_COMPLETED”);sendBroadcast(i);这样,广播就发出去了,然后是接收。