Как изменить значение переменной в классе AlarmManager? - PullRequest
0 голосов
/ 26 января 2020

Всякий раз, когда срабатывает мой будильник, я хочу изменить значение моей переменной, а также узнать, сколько осталось времени до следующего срабатывания будильника.

Вот мой код:

    public static int life = 3;
    public TextView textView = findViewById(R.id.life);
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView.setText("Life:" + life);
        setAlarm();
    }
public void setAlarm() {
        int DATA_FETCHER_RC = 123;

        AlarmManager mAlarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);

        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.HOUR_OF_DAY, 0);
        calendar.set(Calendar.MINUTE, 0);

        Intent intent = new Intent(this, AlarmReceiver.class);
        PendingIntent pendingIntent = PendingIntent.getBroadcast(this, DATA_FETCHER_RC,intent, PendingIntent.FLAG_UPDATE_CURRENT);
        mAlarmManager.setInexactRepeating(AlarmManager.RTC,calendar.getTimeInMillis(),AlarmManager.INTERVAL_DAY, pendingIntent);

Мой код класса AlarmReceiver:

class AlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
    MainActivity.life += 3;

}
}
...