@raonegaia

Android service пересоздается когда начинаю звонить?

Здравствуйте

1) Запускаю Service || JobService через startService || startForegroundService для android Oreo || ContextCompat.startForegroundService

2) в onCreate методе сервиса делаю startForeground(1, notification), и в onDestroy делаю stopForeground(false)

В onCreate методе сервиса запускается BroadcastReceiver, для получение событий TelephonyManager.EXTRA_STATE - {OFFHOOK, RINGING, IDLE}

Вот код для регистраций ресивера
applicationContext.registerReceiver(broadcastReceiver, IntentFilter(TelephonyManager.ACTION_PHONE_STATE_CHANGED),
Manifest.permission.CALL_PHONE, null)

Сразу же после запуска сервиса я вызываю

val intent = Intent(Intent.ACTION_DIAL)
intent.data = Uri.parse("tel:+77787020453")
startActivity(intent)
И начинаю звонить

В логах сервса получаю

18:38:17.008 I/main >>>>: Unstoppable: onCreate ✅
18:38:17.013 4371-4371/me.myapp I/main >>>>: UnstoppableJob: onStartCommand ✅
18:38:17.231 4371-5110/me.myapp I/main >>>>: Unstoppable - 1 ✅
18:38:18.730 4371-5110/me.myapp I/main >>>>: Unstoppable - 2 ✅
18:38:19.082 4371-4371/me.myapp I/Unstoppable: blockCallReciever: onRecieve: ✅
18:38:19.082 4371-4371/me.myapp I/Unstoppable: android.intent.action.PHONE_STATE = OFFHOOK ✅
18:38:21.715 5169-5169/? I/main >>>>: Unstoppable: onCreate ⁉️
18:38:21.741 5169-5169/? I/main >>>>: UnstoppableJob: onStartCommand ⁉️
18:38:21.947 5169-5231/? I/main >>>>: Unstoppable - 1 ⁉️
18:38:24.114 5242-5242/me.myapp I/main >>>>: Unstoppable: onCreate ⁉️
18:38:24.145 5242-5242/me.myapp I/main >>>>: UnstoppableJob: onStartCommand

⁉️

Unstoppable - 1, Unstoppable - 2 - это я таймер запустил чтобы отслежевать работает сервис или нет в реальном времени.

Не могу понять почему в сервисе вызывается сново onCreate без вызова onDestroy, кто может мне помоч это решить и сделать так чтобы сервис работал стабильно при совершение вызова?
  • Вопрос задан
  • 56 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы