广播和服务

广播是一种运用在程序之间传递消息的机制
广播接受者是用来过渡,接受并响应广播的一类组件
广播接收者可以监听系统中广播消息,在不同组件之间进行通信
//动作,广播地址 ip 包名 应用名称
Intent inten=new Internet (action“com.imau.broadcast”)
//inten权限
sendbroadcast(intent);
设置广播接收者具体信息;
intent.setcomponent(new computer.name(),new computer.name(),);
自定义一个类继承Broadcasrtrcriver;重写inreceive方法
public class MyReceiver extends BroadcastReceiver{
//toast.makeText(cintext,“recrived in mybroadcastRecaivar”),
Toast.Lenght——short.show();
System.out.println(‘我接受到了广播…’+intent.getaction());
}
注册广播接收者
静态注册:配置文件中;
<receivet android:name"MybroadcastReceiver">
android:enabled=“true”;
abdroid:exported=“true”;

动作name要和广播发送者action一致

构建IntrntFiler
IntentFilter recevierFilter=new IntentFilter();
recevierFiler.addAction(“com.example.mymessage”);
注册接收者到应用中
receiver=new Myreceiver();
参数:接收者
registerReceiver(receiver,recevierFilter);
服务是安卓中四大组件之一,它能够长期在后台运行且不提供用户组件界面,即使用户切到另一应用程序,服务仍可在后台运行
特点:
服务在后台运行,不用与用户进行交互
即使进程被切换到后台,或者用户打开新的应用,服务仍可运行
服务并非影星在独立的程序当中,而是依赖于创建服务的应用进程,如果某个应用程序被杀掉,该服务也会停止
在默认情况下,服务运行在应用程序进程的主线程ui线程中。如果需要在服务中处理一些网络连接等耗时的操作,那么应将这些任务放在serivce的分线程中处理,避免阻塞用户界面
Activity:
对应一个界面
应用退出,对象就会死亡
应用再次进入,启动的对象重新创建的
服务:
不与任何界面关联,绝不会到前台来
应用退出,service仍在运行
应用再次进入,启动的service还是前面运行的服务对象
两者的选择标准
如果某个应用程序组件需要运行时间向用户呈现某种界面,或者该程序需要与用户交互们就需要使用Activity,否则就应该考虑使用服务
停止服务
public void test2(view view){
if(intent!=null)(
stopservice(intent)
log.i(tag:“service”,msg:“服务停止成功”);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值