Android获取手机电量

本文介绍如何在Android应用中通过BroadcastReceiver监听手机电量的变化,并提供了一段示例代码来展示如何实现这一功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android获取手机电量

当手机电量发生改变时,系统会对外发送Intent的Action 为**ACTION_BATTERY_CHANGED**常量广播。
当手机电量过低时,系统会发送Intent的Action为**ACTION_BATTERY_LOW**常量的广播。
所以可以通过开发监听对应的Itent的BroadcastReceiver.

以下为实现代码


public class MainActivity extends AppCompatActivity {
    private TextView tv;

    /**
     * 广播接受者
     */
    class BatteryReceiver extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
//判断它是否是为电量变化的Broadcast Action
            if (Intent.ACTION_BATTERY_CHANGED.equals(intent.getAction())) {
//获取当前电量
                int level = intent.getIntExtra("level", 0);
//电量的总刻度
                int scale = intent.getIntExtra("scale", 100);
//把它转成百分比
                tv.setText("电池电量为" + ((level * 100) / scale) + "%");
            }
        }

    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);

        tv = new TextView(this);
        tv.setText("chrp");
        this.setContentView(tv);

//注册广播接受者java代码
        IntentFilter intentFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
//创建广播接受者对象
        BatteryReceiver batteryReceiver = new BatteryReceiver();

//注册receiver
        registerReceiver(batteryReceiver, intentFilter);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值