private BroadcastReceiver mBatInfoReceiver = new BroadcastReceiver()
{
public void onReceive(Context context, Intent intent)
{
String action = intent.getAction();
if (Intent.ACTION_BATTERY_CHANGED.equals(action))
{
intLevel = intent.getIntExtra("level", 0);
intScale = intent.getIntExtra("scale", 100);
onBatteryInfoReceiver(intLevel,intScale);
}
}
};
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mButton01 = (Button)findViewById(R.id.myButton1);
mButton01.setOnClickListener(new Button.OnClickListener()
{
public void onClick(View v)
{
registerReceiver
(
mBatInfoReceiver,
new IntentFilter(Intent.ACTION_BATTERY_CHANGED)
);
}
});
}
public void onBatteryInfoReceiver(int intLevel, int intScale)
{
final Dialog d = new Dialog(ey06_02.this);
d.setTitle(R.string.str_dialog_title);
d.setContentView(R.layout.mydialog);
Window window = d.getWindow();
window.setFlags
(
WindowManager.LayoutParams.FLAG_BLUR_BEHIND,
WindowManager.LayoutParams.FLAG_BLUR_BEHIND
);
TextView mTextView02 = (TextView)d.findViewById(R.id.myTextView2);
mTextView02.setText
(
getResources().getText(R.string.str_dialog_body)+
String.valueOf(intLevel * 100 / intScale) + "%"
);
Button mButton02 = (Button)d.findViewById(R.id.myButton2);
mButton02.setOnClickListener(new Button.OnClickListener()
{
public void onClick(View v)
{
unregisterReceiver(mBatInfoReceiver);
d.dismiss();
}
});
d.show();
}
}
这个代码是检测手机电量的,我这里好像只是注册了广播,但没发出,难道手机内电量这个广播不间断的在发的,只要注册了就可以接收到?
解决方案 »
- 安卓模拟器文件管理器出问题了
- android 如何从系统相册中获取图片
- 有人知道Android的MediaPlayer错误(-19,0)吗
- 关于如何记录阅读进度,求点拨。标题要长…………一晚上过去了,怎么没有人回复我一下啊。
- 关于Android的存储介质
- 新手遇到问题,求教!
- 初学安卓不久, 请教各位大侠。关于视频播放器
- 实现手机转图不转的效果
- arcgis for android发布自己的地图不显示---我是菜鸟
- 建立线程启动线程之后, 线程代码是不是在 public void run()函数 中?
- 求助:一星期都没解决的问题--ListView中的EditText中的取值
- widget问题
因为电量是一直在change的
呵呵,楼主说话很好玩。哈哈。
我猜你是说:每次你点button1,总是能马上就收到Change的Intent。
这是电池变化的Intent,所以发的频率比较高。