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