Service学习(六)——在服务与活动间通信
来源:互联网 发布:淘宝图片大小分辨率 编辑:程序博客网 时间:2024/06/08 18:52
Service学习——在服务与活动之间通信
具体做法就是让服务在后台运行周期事件或者长时间事件,然后在特定的时间下或者触发点发送广播,让监听该广播的所有活动做出相应的反应。
先一个简单的:
MyIntentService类:
在此我只贴出需要更改的地方,其他代码同前几篇
protected voidonHandleIntent(Intent arg0) {
//TODO Auto-generated method stub
try{
intresult = DownloadFile(new URL("http://www.baidu.com"));
Log.d("IntentService","Downloaded" + result + "bytes");
//发送一个广播通知活动,文件已经被下载
IntentbroadcastIntent = new Intent();
broadcastIntent.setAction("FILE_DOWNLOADED_ACTION");
getBaseContext().sendBroadcast(broadcastIntent);
}catch (Exception e) {
e.printStackTrace();
}
}
MainActivity中的改变:
这些代码写在onCreat中
//用来筛选文件下载的意图
intentFilter= new IntentFilter();
intentFilter.addAction("FILE_DOWNLOADED_ACTION");
//注册接收者
MainActivity.this.registerReceiver(intentReceiver,intentFilter);
这个写在onCreat外
privateBroadcastReceiver intentReceiver = new BroadcastReceiver() {
@Override
publicvoid onReceive(Context context, Intent intent) {
//TODO Auto-generated method stub
Log.d("onReceive","监听到了");
Toast.makeText(MainActivity.this,"File downloaded", Toast.LENGTH_LONG).show();
}
};
最后在onDestory中注销监听
protected voidonDestroy() {
super.onDestroy();
unregisterReceiver(intentReceiver);
};
以上就实现了服务与活动的通信功能,你运行程序后会看到大概4秒钟后,出现File Downloaded!在LogCat中看到Downloaded 100bytes
- Service学习(六)——在服务与活动间通信
- Android Service——活动和服务进行通信
- 活动与服务间通信
- 服务Service---并与活动、接收器之间的通信
- 四大组件之service——应用实例三(活动和服务的通信&服务生命周期)
- Android学习笔记_22_服务Service应用之—与Activity进行相互通信的本地服务
- android学习:service 绑定,与服务进行通信
- Android活动与服务之间的通信
- Android之Service(三):活动和服务进行通信
- Android学习——服务Service与广播接收者BroadcastReciver
- service汇总(service模拟后台下载、service刷新UI、service与Activity生命周期关系、service和活动间的通信)
- 使用 Broadcast 与后台 Service 服务通信
- activity与service通信学习
- 服务的启动、停止和与活动的通信
- 第一行代码总结:9.3服务的基本用法——活动和服务进行通信
- Netty学习(六)—WebSocket通信
- 活动和服务进行通信
- Java 多线程(六)——进程间通信与线程间通信
- 杭电2006题解
- HDU 5017 Ellipsoid
- Webkit内核探究【2】——Webkit CSS实现
- 数据库设计之外键的思考
- 解决Centos 7安装后不能上网的方法
- Service学习(六)——在服务与活动间通信
- 快速配置虚拟机上网(桥接)
- linux内核简介
- Django 1.7 初级教程or学习笔记(一)
- HDU 5037 Frog(模拟跳石头的过程)
- 第一章 绪论
- Fragment的可见再加载的方法(真正的Fragment的OnResume和OnPause)
- [文件系统]一些问题
- NYOJ 303【序号互换】第四届河南省程序设计大赛