Эй!
Я создаю тестовое приложение, которое определяет, подключено ли устройство к какому-либо источнику питания или нет, и соответственно показывает статус «Зарядка» или «Разрядка». До сих пор оно работает отлично. Теперь я хочу, чтобы при удалении источника питания он отображал «Разрядка» после задержки, скажем, 10 секунд. В течение этих 10 секунд, если, скажем, я снова подключу источник питания, приложение не будет обновлять свой статус и останется в состоянии «Зарядка». Я хотел бы, чтобы время задержки настраивалось. Как мне это сделать? Вот фрагмент кода, который использовался до сих пор. Он отображает состояние устройства без каких-либо задержек.
BroadcastReceiver br = new BroadcastReceiver() {
@Override
public void onReceive(Context context , Intent intent) {
if(Intent.ACTION_BATTERY_CHANGED.equals(intent.getAction())){
int btstatus = intent.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
switch(btstatus)
{
case 1:
status="Unknown";
break;
case 2:
status="Charging";
break;
case 3:
status="Discharging";
break;
case 4:
status="Not charging";
break;
case 5:
status="Battery Full";
break;
default: status= "Error!";
}
tv2.setText(status);
//OnCreate method
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_main);
tv1= (TextView)findViewById(R.id.textView1);
tv2=(TextView)findViewById(R.id.textView2);
registerReceiver(br, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
}
//onDestroy()
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
unregisterReceiver(br);
super.onDestroy();
}