Что такое E/AbstractTracker: не удается создать обработчик внутри потока, который не вызвал Looper.prepare()?

У меня была эта проблема в прошлом, и я не думал об этом, так как только экспериментировал с IDE. Тем не менее, я понял, что ошибка также появляется, когда я создаю новое новое приложение, даже если я не добавлял собственного кода, я все равно получаю эту ошибку, любая помощь будет оценена по устранению этой проблемы.

До сих пор я пытался запускать методы в потоке пользовательского интерфейса, а также в асинхронном потоке, но все равно не повезло.

ошибка:

E/AbstractTracker: невозможно создать обработчик внутри потока, который не вызвал Looper.prepare()

D/AppTracker: Событие приложения: стоп

E/AbstractTracker: невозможно создать обработчик внутри потока, который не вызвал Looper.prepare()

D/AppTracker: Событие приложения: запуск


person Ashraf Rahman    schedule 22.08.2017    source источник
comment
Предоставьте минимально воспроизводимый пример. Это будет включать полную трассировку стека Java для вашей ошибки (а не только эту строку) и код Java, который вызывает эту ошибку (например, класс AbstractTracker).   -  person CommonsWare    schedule 23.08.2017
comment
проблема в том, что это все, что я получаю об ошибке: E/AbstractTracker: невозможно создать обработчик внутри потока, который не вызвал Looper.prepare() D/AppTracker: событие приложения: остановить E/AbstractTracker: невозможно создать обработчик внутренний поток, который не вызвал Looper.prepare() D/AppTracker: событие приложения: start   -  person Ashraf Rahman    schedule 23.08.2017
comment
Хорошо, тогда какие у вас есть доказательства того, что это как-то связано с вашим приложением? Сообщение исходит от вашего процесса?   -  person CommonsWare    schedule 23.08.2017
comment
Когда я запускаю приложение для тестирования, ошибка продолжает отображаться на мониторе Android, даже когда я ПРОСТО настроил приложение.   -  person Ashraf Rahman    schedule 24.08.2017
comment
Так? Это не означает, что ошибка исходит от вашего процесса. Вы знаете свой идентификатор процесса, поскольку Android Studio показывает его вам. Вы знаете идентификатор процесса сообщений, поскольку Android Studio также показывает его вам. Значения одинаковы? Когда вы запускаете свое приложение в другом месте (например, на другом устройстве, в эмуляторе), видите ли вы эти сообщения? Я предполагаю, что это происходит от чего-то на конкретном устройстве, настроенном производителем устройства.   -  person CommonsWare    schedule 24.08.2017
comment
Я поддерживаю то, что говорит CommonsWare. У меня есть OnePlus One, и он тоже имеет тенденцию делать это. Думаю, это проблема производителя.   -  person solidak    schedule 19.10.2017
comment
Я получаю ту же ошибку. Но работает на моем 1Plus1... но не работает на моем 1Plus2! сводит меня с ума   -  person user3833732    schedule 03.12.2017
comment
Я также получаю это на своем OnePlus3T.   -  person Farrukh Najmi    schedule 23.09.2019


Ответы (1)


В вашем вопросе недостаточно сведений о типе службы или функциях, которые вы используете.

Но я заметил, что это происходит, когда вы используете новый SDK и запускаете приложение на OnePlus One/Two.

Вам нужно будет использовать более низкий SDK (‹28) и установить минимальный SDK на 16.

Также, если вы используете DeviceAdminPermission или любой встроенный интерфейс для получения Broadcast, удалите UserHandler в качестве аргумента. Этот аргумент добавляется в SDK 29 и создает отдельный поток.

person Srihari Karanth    schedule 07.10.2019