У меня есть фоновая служба, запущенная моим Android-приложением, которая работает в своем глобальном процессе, отдельном от процесса приложения. Я выполняю это с помощью атрибута манифеста process
для документов :
android:process=":scannerProcess"
Мой сервис - это длительный сервис, который прослушивает аппаратный ввод от периферийного устройства. Идея создания собственного процесса состоит в том, чтобы исключить возможность аварийного завершения приложения в сервисе. Вот где моя проблема: когда происходит сбой службы, она все равно приводит к сбою приложения, даже если оно предположительно работает в отдельном процессе от приложения.
Я вызываю сбой службы с простым преднамеренным исключением:
throw Exception("Intentional crash!")
Я не понимаю, почему это может привести к аварийному завершению приложения, но только Служба должна аварийно завершать работу. Logcat показывает, что мой процесс действительно существует, поэтому с чего бы этот сбой процесса приводил к сбою процесса моего приложения ?
2019-01-07 17:14:44.027 27768-27796/com.foo.bar.app E/AndroidRuntime: FATAL EXCEPTION: Thread-5
Process: com.foo.bar.kiosklauncher:scannerProcess, PID: 27768
java.lang.Exception: Intentional crash!