BroadcastReceiver:对象的生命周期不超过5s,如果进行耗时工作,通过开线程,可以通过发送Intent给Activity或Service,由Activity或者Service来完成。
1:用来已不接收意图的(Intent),广播Intent的发送时通过调用Context.sendBroadcast()\Context.sendOrderedBroadcast()或者Context.sendStickyBroadcast()来实现的。
注:Context.startActivity(Intent) ------>只能被一个组件(Activity/Service)接收
Context.sendBroadcast(Intent) ------>能被订阅了此意图的所有广播接收者接收
2:第一步:继承BroadcastReceiver,并重写onReceive方法。
public class IncominSMSReceiver extends BroadcastReceivee{
@Override
public void onReceive(Context context,Intent intent)
}
3:第二步:订阅感兴趣的广播Intent,订阅方法有两种:
第一种:使用代码进行订阅:
IntentFilter filter=new IntentFilter("android.provider.Telephony.SMS_RECEIVD");
IncomingSMSReceiver receiver=new IncomingSMSReceiver();
registerReceiver(receiver,filter);
第二种:在AndroidManifest.xml文件中中的<application>节点里进行订阅:
<receiver android:name=".IncomingSMSReceiver">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVER"/>
</intent-filter>
</receiver>
Service:
1:第一步:继承Service类
public classs SMSService extends Service{}
2:第二步:在AndrodManifest.xml文件中的<application>节点里对服务进行配置。
<service android:name=".SMSService">
注:服务不能自己运行。需要通过调用Context.startService()或Context.bindService
startService():调用者与服务之间没有关联。系统先 调用服务的onCreate()方法,接着调用onStart()方法。多次调用startService()方法并不会导致服务多次被创建,但会多次调 用onStart()方法。并用Context.stopService()方法结束服务,服务结束时调用onDestroy()方法。
bindService():调用者与服务绑定在一起“不求同时生,必须同时死。”系统调用服务的onCreate方法接着调用onBind()方法。这 时调用者与服务绑定一起调用者退出时先调用服务的onUnbind()方法,接着调用onDestroy()方法。多次调用bindService()方 法并不会导致调用者与服务多次被绑定。

更多相关文章

  1. tcping测试服务器TCP端口
  2. Android学习之多线程编程(handler篇)
  3. Android(安卓)10.0 Activity启动详解(二)
  4. Android包管理机制(二)PackageInstaller安装APK
  5. 调用高德地图、百度地图客户端
  6. android相机Camera.Parameters所有的参数值
  7. Android快速开发框架dyh详解(四)---数据层的使用
  8. Android第三方文件选择器aFileChooser使用方法详解
  9. 使用SmsManager服务群发短信

随机推荐

  1. NetBeans 7.0 安装 Android SDK 开发 And
  2. Android使用json对中文进行编码 使用php
  3. Android获取当前已连接的wifi信号强度的
  4. Android 数据存储与IO (一)
  5. View事件分发机制
  6. Android(安卓)官方架构组件(三)——ViewMod
  7. Android API 中文 (53) ―― BaseAdapter
  8. android wifi debug 调试
  9. 【流媒體】 Android 实时视频编码—H.264
  10. Android(安卓)EditText常用技能,包括clear