#android
#Android
Вопрос:
Привет, я передаю намерение с некоторыми данными для запуска сервиса, но я не могу получить свои строки, поскольку мой OnCreate()
метод сервиса вызывается первым, и у меня есть вся работа в нем, но я не могу получить данные намерения в этом методе..
Ответ №1:
Дополнительные функции Intent предназначены для использования с командами ( onStartCommand()
) или, возможно, с запросами на привязку ( onBind()
). Это не Intent
связано с простым созданием сервиса.
Перепишите свой сервис, чтобы он выполнял работу, настроенную Intent
дополнительными функциями в onStartCommand()
или onBind()
. Или подумайте, являются ли Intent
дополнения правильным подходом к использованию — например, я ожидал бы, что вещи, которые Service
необходимы постоянно, будут доступны в базе данных или SharedPreferences
.
Комментарии:
1. я использовал метод OnStart и поместил в него весь свой код, а кнопка, вызывающая сервис, зависает до тех пор, пока мой файл не будет загружен на сервер, т. е. пока сервис не завершится.
2. @Harinder: Тогда вы должны использовать где-то фоновый поток, возможно, внутри сервиса. Возможно, стоит подумать о создании
IntentService
вместо обычногоService
.