Я никогда не делал ничего, связанного с батареей. Итак, я совершенно новичок в этом. У меня есть приложение в моем приложении, через которое я получаю и отправляю сообщения и выполняю определенные задачи. Теперь одна из моих задач - проверить, если уровень заряда батареи ниже 20% или 15%, выполнить какую-то задачу. Я не знаю, как поставить эту проверку :( в моем файле трансляции. Заранее спасибо за помощь:).
Обновление моего вопроса: До сих пор я делал это до сих пор
public class BatteryBroadcastReceiver extends BroadcastReceiver {
DatabaseHelper db;
@Override
public void onReceive(Context context, Intent intent) {
db = new DatabaseHelper(context);
String cont1 = db.usercontact().toString();
String action = intent.getAction();
if (action != null && action.equals(Intent.ACTION_BATTERY_CHANGED)) {
int level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL,-1);
int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE,-1);
int percentage = level * 100 / scale;
if(percentage <= 20){
// doing something like getting location
}
}
}
Я зарегистрировал свою трансляцию в активности:
public class Battery extends AppCompatActivity {
private BatteryBroadcastReceiver batteryReceiver = new BatteryBroadcastReceiver();
private IntentFilter intentFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_auto_location);
}
@Override
protected void onResume(){
super.onResume();
registerReceiver(batteryReceiver,intentFilter);
}
@Override
protected void onPause(){
unregisterReceiver(batteryReceiver);
super.onPause();
}
}
Этот общий фрагмент кода работает нормально, но он ограничивает меня только этой деятельностью (может быть, потому что трансляция зарегистрированав этой деятельности). Как и до тех пор, пока эта активность остается открытой, я могу выполнять какую-то задачу, но когда я ее закрываю, когда батарея разряжается, она не выполняет никаких задач. Теперь я не знаю, что делать. У меня есть другие действия в моем приложении, и я хочу, чтобы оно работало, даже когда я не в этом действии. Является ли это возможным ?