@Override
public
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this
.registerReceiver(
this
.batteryInfoReceiver,
new
IntentFilter(Intent.ACTION_BATTERY_CHANGED));
chargeTimer2();
}
int
j =
20
;
public
void
chargeTimer2(){
if
(statusString.equals(
"Charging (USB)"
) || statusString.equals(
"Charging (AC)"
)){
timer =
new
CountDownTimer(
20
*
1000
,
1000
){
@Override
public
void
onTick(
long
millisUntilFinished){
j--;
chargeMinute.setText(j+
""
);
}
@Override
public
void
onFinish() {
timer.cancel();
}
};
timer.start();
}
else
{
timer.cancel();
}
}
private
BroadcastReceiver batteryInfoReceiver =
new
BroadcastReceiver() {
@Override
public
void
onReceive(Context context, Intent intent) {
level= intent.getIntExtra(BatteryManager.EXTRA_LEVEL,
0
);
int
plugged= intent.getIntExtra(BatteryManager.EXTRA_PLUGGED,
0
);
int
status= intent.getIntExtra(BatteryManager.EXTRA_STATUS,
0
);
if
(status == BatteryManager.BATTERY_STATUS_CHARGING) {
statusString = (
"Charging"
);
if
(plugged >
0
){
statusString = statusString +
" "
+ ((plugged == BatteryManager.BATTERY_PLUGGED_AC)?
"(AC)"
:
"(USB)"
);
Toast.makeText(MainActivity.
this
,
"충전을 시작합니다"
, Toast.LENGTH_SHORT).show();
}
else
if
(status == BatteryManager.BATTERY_STATUS_DISCHARGING) {
statusString = (
"Discharging"
);
}
else
if
(status == BatteryManager.BATTERY_STATUS_NOT_CHARGING) {
statusString = (
"Not charging"
);
}
else
if
(status == BatteryManager.BATTERY_STATUS_FULL) {
statusString = (
"Full"
);
}
else
{
statusString = (
"Unknown"
);
}
chargingStatus.setText(statusString);
}
};