Android获取手机电量

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);
    }
}

没有更多推荐了,返回首页