android Broadcast Receiver

在android开发的过程中会经常使用到Broadcast Receiver。

说到Broadcast Receiver的使用,肯定要先会发送一个广播,那么怎样发送广播呢?下面给出一段在Activity中的代码:

Intent intent = new Intent(); //new 一个意图对象

intent.setAction(org.androidpn.act.MyService); //通俗点说就是这个广播到达的地方,自定义

sendBroadcast(intent);//调用发送广播的方法

当然了,这些只是发送广播必须的元素,你还可以给这个广播带上一些信息:intent.putExtra("key","value"); 经过这些就可以发送一个广播了。

有了发送广播的,当然要有广播接收者了。要实现广播接受者就必须要继承BroadcastReceiver,然后重写onReceive()方法,在这个方法中你就可

以做一些处理了。

public class MyBroadcast extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub

}
}

    有了这些东东还是不能接收广播,你还需要注册广播,注册广播有两种方法:

一:在代码中注册,这种不是常驻型,一般是在onStart()中注册,在onStop()中取消,(在BroadcastReceiver的Context对象被销毁时,

BroadcastReceiver也会自动取消注册)

protected void onStart() {
// TODO Auto-generated method stub
    IntentFilter filter =new IntentFilter();  
    filter.addAction("org.androidpn.act.PayActivity");  
    registerReceiver(BroadcastReceiver, filter); //注册Broadcast Receiver 
    super.onStart();
}

二:在AndroidManifest.xml中注册,常驻型。

<application android:icon="@drawable/icon" android:label="@string/app_name">

<receiver android:name="org.androidpn.act.MyBroadcast">  
            <intent-filter android:priority="20">  
                <action android:name="org.androidpn.act.PayActivity"/>  
            </intent-filter>  
        </receiver>

</application>

容纳多个接受程序:Intent.setAction(); 里配置要相同。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值