android Service与BroadcastReceiver
16lz
2021-01-26
service,能看到这的都知道它是什么意思,有什么用,为什么要有它。最简单的用法如下:
注册:
<service name=".xxxService"/></service>
调用:
startService(xxxService);
补充:1.前台service;2.bindService的使用;3.远程service;
和调用activity一样。
BroadcastReceiver,广播接收处理器。我们来看
1、为什么要用到广播;
2、怎么发送广播;
3、怎么接收广播;
第一点,广播,字面意思就是将消息通知给所有可以听到的进程,BroadcastReceiver一般都是放在Intent中的,所以它与Intent的作用大体类似,是组件
或者程序之间通信的桥梁。
第二点,发动广播有两种方法:静态注册和动态注册,分别为:
<receiver android:name=".TestReceiver" > <intent-filter> <action android:name="com.androidbook.intents.testbc" /> </intent-filter> </receiver>
特点:不管改应用程序是否处于活动状态,都会进行监听。
TestReceiver receiver = new TestReceiver(); //创建过滤器,并指定action,使之用于接收同action的广播 IntentFilter filter = new IntentFilter("TestReceiver_Action_Name");//等同于上面的com.androidbook.intents.testbc //注册广播接收器 registerReceiver(receiver, filter);
特点:当应用程序关闭后,就不再进行监听。
第三点,接收广播,extends BroadcastReceiver,再重写onReceive方法;
下面我们来看看一个简单的例子:
首先看AndroidMainfest.xml文件中广播接收器的注册:
<receiver android:name=".MyReceiver" > <intent-filter> <action android:name="com.example.test" /> </intent-filter> </receiver>
发送广播代码:
Intent intent = new Intent("com.example.test"); intent.putExtra("data", "哈哈"); sendBroadcast(intent);
广播接收器处理类:
@Override public void onReceive(Context context, Intent intent) { Toast.makeText(context, intent.getExtras().get("data").toString(), Toast.LENGTH_LONG).show(); }
我的博客其它文章列表
http://my.oschina.net/helu
更多相关文章
- Android- 活动(Activity), 服务(Service), 广播(Broadcast), 广
- Android中Widget实例
- Android窗口小部件开发
- Android(安卓)组建 Content Provider 了解
- android 广播接收者--BroadcastReceiver
- Android(安卓)对手机网络的检测和监听
- android中的广播接收实现总结
- Android学习轨迹之一:Android(安卓)BroadcastReceiver 学习
- android2.2应用开发之IccCard(sim卡或USIM卡)