Я хочу знать, как я могу показать время, оставшееся до звонка будильника. И я также хочу знать, как мы можем увеличить / изменить значение переменной другого класса из другого класса. Предположим, у меня есть игра, в которой пользователи получают жизнь каждый день в 12 часов. Итак, как я могу предоставить жизнь пользователям, использующим AlarmManager.
Вот мой код для MainActivity
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView textView = findViewById(R.id.timeRemain);
long timeRemaining;
final TimePicker timePicker = findViewById(R.id.timepicker);
findViewById(R.id.alarm).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Calendar calendar = Calendar.getInstance();
if (Build.VERSION.SDK_INT >= 23) {
calendar.set(
calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH),
timePicker.getHour(),
timePicker.getMinute(),
0
);
}else {
calendar.set(
calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH),
timePicker.getCurrentHour(),
timePicker.getCurrentMinute(),
0
);
}
setAlarm(calendar.getTimeInMillis());
}
});
}
private void setAlarm(long timeInMillis) {
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(this, Alarm.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
alarmManager.setRepeating(AlarmManager.RTC, timeInMillis, AlarmManager.INTERVAL_DAY,
pendingIntent);
Toast.makeText(this,"Alarm is Set", Toast.LENGTH_SHORT) .show();
}
}
Мой класс alarmReciever
public class Alarm extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
MediaPlayer mediaPlayer = MediaPlayer.create(context, Settings.System.DEFAULT_RINGTONE_URI);
mediaPlayer.start();
}
}
Есть предложения? Заранее спасибо.