Как создать полноэкранный будильник? [закрыто]Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как создать полноэкранный будильник? [закрыто]

Сообщение Anonymous »

Я пытался создать полноэкранный будильник.
Я знаю, что основным ключом является AlarmManager для планирования задач на определенное время в будущем. Мне удалось использовать AlarmManager, намерение и широковещательный приемник, чтобы иметь возможность печатать и регистрировать фрагмент текста через несколько секунд, даже когда приложение находится в фоновом режиме.
Мое желаемое поведение - внутри onReceive, чтобы вместо печати текста появлялся пользовательский интерфейс тревоги, но я не уверен, какой подход использовать. Я новичок в Android.
Вот мой текущий код: ... означает шаблон
MainActivity.kt
class MainActivity ... {
override fun onCreate(savedInstanceState: Bundle?) {
...
val scheduler = AlarmScheduler(this)
setContent {
Theme {

var secondsText = 7L
var message = "Test message"

Button(
onClick = {
val alarmItem = AlarmItem(
time = LocalDateTime.now()
.plusSeconds(secondsText),
message = message
)
scheduler.schedule(alarmItem)
},
) {
Text("Schedule")
}
}
}
}
}

AlarmItem.kt
data class AlarmItem(
val time: LocalDateTime,
val message: String
)

AlarmScheduler.kt
class AlarmScheduler(
val context: Context
) {
val alarmManager = context.getSystemService(AlarmManager::class.java)

fun schedule(item: AlarmItem) {
val intent = Intent(context, AlarmReceiver::class.java)
intent.putExtra("EXTRA_MESSAGE", item.message)
alarmManager.setExactAndAllowWhileIdle(
AlarmManager.RTC_WAKEUP,
item.time.atZone(ZoneId.systemDefault()).toEpochSecond() * 1000,
PendingIntent.getBroadcast(
context,
item.hashCode(),
intent,
PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE
)
)
}
}

AlarmReceiver.kt
класс AlarmReceiver: BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
val message = intent.getStringExtra("EXTRA_MESSAGE")
println("Alarm triggered: $message")
}




Подробнее здесь: https://stackoverflow.com/questions/798 ... reen-alarm
Ответить

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

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

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

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

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