Android学习【6】BroadcastReceiver和接口的使用

	BroadcastReceiver主要用途为消息接收,接下来以获取电池电量为例进行下描述。
	首先,创建MyPowerBR继承自BroadcastReceiver用于电池电量消息的获取。之后重写onReceive方法,在onReceive方法中过滤消息,选择出电池电量的消息。
    public void onReceive(Context context, Intent intent) {
        if(intent.getAction().equals(Intent.ACTION_BATTERY_CHANGED)){
            //获取当前电量,没有收到则返回0
            int level = intent.getIntExtra("level", 0);
            //电量的总刻度<span style="font-size: 9pt; font-family: 宋体;">,没有收到则返回100</span>
            int scale = intent.getIntExtra("scale", 100);
            powerInterface.updateUI(level,scale);
        }
    }
之后需要在Activity中动态注册
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //注册广播接受者
        IntentFilter intentFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
        //创建广播接受者对象
        MyPowerBR batteryReceiver = new MyPowerBR();
        registerReceiver(batteryReceiver, intentFilter);  //动态注册
        batteryReceiver.setPowerInterface(this);  //设置接口
    }
当然还要在Manifest文件中添加啦~~
<span style="white-space:pre">	</span><receiver android:name=".MyPowerBR"/>
此时在onReceive中已经能接收到电池的电量消息了。接下来还有一个问题:如何将接收到的消息传递至Activity中?
	我选用了接口来解决这一问题。
	MyPowerBR中创建接口PowerInterface 并定义方法updateUI;在onReceive函数中调用updateUI方法把数据写入,之后再Activity中实现这一接口即可~~~
	源文件在这里



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值