Android: как предотвратить сбои внешнего процесса, приводящие к сбою приложения? - PullRequest
0 голосов
/ 08 января 2019

У меня есть фоновая служба, запущенная моим 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!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...