Запуск приложения Android (Java) после закрытия, студия AndroidJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Запуск приложения Android (Java) после закрытия, студия Android

Сообщение Anonymous »

Я написал программу на Java, которая сначала фиксирует рабочие дни пользователя с помощью флажков, а затем извлекает рабочее время для каждого дня.
Если пользователь находится в пределах своего рабочего дня и часов, звук перерыва воспроизводится на 25 и 55 минутах, а если минуты равны 00 или 30, звучит рабочий звук. Часы и дни хранятся в SharedPreferences, и после первого входа в систему пользователь всегда перенаправляется в «ProActivity».
Программа работает хорошо и правильно, но я хочу, чтобы она продолжала работать. даже после того, как пользователь полностью закроет приложение, как будильник!
Код для упомянутого действия я предоставил ниже:

private void checkWorkStatus() {
// گرفتن تاریخ و ساعت فعلی
Calendar calendar = Calendar.getInstance();
String currentDay = new SimpleDateFormat("EEEE", new Locale("fa")).format(calendar.getTime());
String currentHour = String.format("%02d:00 - %02d:00",
calendar.get(Calendar.HOUR_OF_DAY),
(calendar.get(Calendar.HOUR_OF_DAY) + 1) % 24);

int currentMinute = calendar.get(Calendar.MINUTE);

// گرفتن ساعات کاری ذخیره‌شده برای روز جاری
Set workHours = sharedPreferences.getStringSet(currentDay, null);

if (workHours == null || workHours.isEmpty()) {
tvStatus.setText("تعطیل");
} else if (!workHours.contains(currentHour)) {
tvStatus.setText("کار شروع نشده");
resetFlags(); // ریست پرچم‌ها اگر ساعت فعلی در ساعت کاری نباشد
} else {
// بررسی دقیقه‌های مختلف و تغییر متن لیبل
if (currentMinute == 25 || currentMinute == 29 || currentMinute == 55 || currentMinute == 59) {
tvStatus.setText("استراحت :)");
// فقط یکبار در دقیقه‌های مشخص شده آهنگ استراحت پخش می‌شود
playOnceAtMinute(currentMinute, "rest");
} else if (currentMinute == 0 || currentMinute == 24 || currentMinute == 30 || currentMinute == 54) {
tvStatus.setText("کار :(");
// فقط یکبار در دقیقه‌های مشخص شده آهنگ کار پخش می‌شود
playOnceAtMinute(currentMinute, "work");
} else {
tvStatus.setText("کار");
resetFlags(); // ریست پرچم‌ها وقتی دقیقه مشخص نیست
}
}
}

private void playOnceAtMinute(int minute, String soundType) {
if ("rest".equals(soundType)) {
if ((minute == 25 && !isPlayedAt25) || (minute == 55 && !isPlayedAt55)) {
restPlayer.start(); // پخش آهنگ استراحت
if (minute == 25) {
isPlayedAt25 = true;
} else if (minute == 55) {
isPlayedAt55 = true;
}
}
} else if ("work".equals(soundType)) {
if ((minute == 30 && !isPlayedAt30) || (minute == 0 && !isPlayedAt00)) {
workPlayer.start(); // پخش آهنگ کار
if (minute == 30) {
isPlayedAt30 = true;
} else if (minute == 0) {
isPlayedAt00 = true;
}
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/792 ... oid-studio
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»