Часто в примерах используется что-то вроде этого:
Код: Выделить всё
class MyForegroundService : Service() {
...
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
val notification = NotificationCompat.Builder(this, "my_foreground_service")
.setSmallIcon(R.drawable.ic_launcher_foreground)
.setContentTitle("This is a notification")
.setContentText("Hello").build()
startForeground(1, notification) //don't use id = 0!
return super.onStartCommand(intent, flags, startId)
}
...
}
Где мне поместить свой код, который на самом деле должен делать что-то в службе переднего плана?
Должен ли я...
- вызвать его перед startForeground()?
- вызвать его после startForeground()?
- не помещать его сюда куда-либо, а вместо этого добавить .setContentIntent() в конструктор уведомлений с намерением, которое запускает код из другого класса?
Я тестировал запуск кода как до, так и после startForeground(). Кажется, это работало лучше, если писать после startForeground(), хотя даже тогда это работало не каждый раз.
Подробнее здесь: https://stackoverflow.com/questions/797 ... ant-to-run