linux怎么查看本机内存大小
379
2022-11-21
android之监听设备电量变化
通过一下代码方式就能时时的获取电量的变化信息,也可以通过BatteryManager对象里面的其他String 来获取其他信息,比如EXTRA_PLUGGED,这个是返回当前是用usb,交流电,无线电的方式等, 这里是比较简单的几行代码通过广播监听设备变化:
public class BatteryActivity extends Activity implements OnClickListener {
private Button startBtn, stopBtn;
private TextView batteryValue;
private BroadcastReceiver mReceiver;
private IntentFilter mFilter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.battery_layout);
startBtn = (Button) findViewById(R.id.start_btn);
stopBtn = (Button) findViewById(R.id.stop_btn);
batteryValue = (TextView) findViewById(R.id.battery_vaule);
batteryValue.setTextColor(Color.RED);
startBtn.setOnClickListener(this);
stopBtn.setOnClickListener(this);
mFilter = new IntentFilter();
// 监听电量变化,只能采用动态注册方式,不能在AndroidManifest.xml中用静态注册广播接受者
mFilter.addAction(Intent.ACTION_BATTERY_CHANGED);
mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
// 当前电量
int level =intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0);
// 最大电量
int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, 0);
batteryValue.setText("当前电量为:" + (level * 100) / scale + "%");
}
};
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
int id = v.getId();
switch (id) {
case R.id.start_btn:
registerReceiver(mReceiver, mFilter);
break;
case R.id.stop_btn:<
unregisterReceiver(mReceiver);
break;
default:
break;
}
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub<
super.onDestroy();
unregisterReceiver(mReceiver);
}
}
布局文件:
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~