BroadcastReceiver-监听电量变化的广播

BroadcastReceiver ,也就是广播接收器,可以让我们的 APP监听系统或其他应用的广播。

今天学习了一下如何使用BroadcastReceiver 监听系统的电量变化。

单纯只是实现这个功能还是很简单的,看一下代码

我们需要创建一个广播接收者,继承自 BroadcastReceiver

在其中的onReceive方法中,可以设置监听成功后执行的操作

同时我们需要注册广播

而监听电量变化用的是

ACTION_BATTERY_CHANGED这里
详情可以看下面的注释
复制代码
package com.example.broadcastapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.util.Log;

public class MainActivity extends AppCompatActivity {

    private static final String TAG = "MainActivity";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //收听电量变化
        IntentFilter intentFilter = new IntentFilter();
        intentFilter.addAction(Intent.ACTION_BATTERY_CHANGED);
        //
        BatteryLevelReceiver batteryLevelReceiver = new BatteryLevelReceiver();
        //注册广播
        this.registerReceiver(batteryLevelReceiver,intentFilter);

    }
    //首先创建一个广播接收者,继承自 BroadcastReceiver
    private class BatteryLevelReceiver extends BroadcastReceiver{


        @Override
        public void onReceive(Context context, Intent intent) {
            String action = intent.getAction();
            Log.d(TAG,"收到了电量变化的广播 action is =="+ action);
        }
    }
}
复制代码

同时,我们不要忘记在Manifest中加入这样一句,这样我们才能监听电量

<uses-permission android:name="android.permission.BATTERY_STATS"
        tools:ignore="ProtectedPermissions" />

看一下效果,可以看到,在拉动电量条时,控制台输出的文字:“收到了电量变化的广播”

 

作者:冰稀饭Aurora

出处:https://www.cnblogs.com/rsy-bxf150/p/17205075.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   冰稀饭Aurora  阅读(141)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
点击右上角即可分享
微信分享提示