温馨提示×

温馨提示×

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

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

Service,BroadcastReceiver基础

发布时间:2020-07-24 00:09:40 来源:网络 阅读:344 作者:JustMetU 栏目:移动开发

一.Service


  1. Service是一种可以在后台长期运行且不提供用户UI的程序,常用来处理一些耗时操作性操作,如网络传输或播放音乐。


2.Service可以分为有限生命和无限生命,当系统资源不足是,Activity可能被杀掉,但Service不会。


3.启动Service需要在清单文件中声明<Service>标签。启动Service有两种方式:

Context.startService()【不绑定,无限生命】和Context.bindService()【绑定,有限生命】.

   a.startService()调用onstartCommand()方法,销毁时直接调用onDestroy()方法。

   b.bindService()调用onBind()返回客户端的一个IBinder接口,当没有任何对象绑定Service时,      Service会被系统销毁。





二.BroadcastReceiver



广播是Android系统应用程序之间通信的手段,当有特定事件发生时,如来电、来短信、电池电量变化时,Android系统都会产生特定的Intent对象并自动进行广播,而针对特定事件注册BroadcastReceiver可以接收到这些广播,并获取到Intent对象中的数据进行处理。

在广播Intent对象时可以指定用户权限,只有获得了相应权限的BroadcastReceiver才能接收并处理相应的广播。


一个BroadcastReceiver对象只有在被调用了onReceive()时才有效,当从该函数返回时,该对象就无效了,生命周期也就结束了。


不能生成ui,通过NotificationManager来通知用户有事情发生。



实例:


前面的检测手机电量实例

向AI问一下细节

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

AI