2009-11-28 2 views
0

Я расширяю класс IntentService для запуска фоновой службы на Android. Служба запускается сразу после загрузки. Я хочу периодически открывать окно ввода пользователя из этой службы. Итак, я попытался вызвать Activity из службы, но это не помогает. Появляется ужасная коробка Force Close и служба умирает. Можно ли предложить какие-либо методы для вызова активности из фоновой службы?Android - активность со службы?

Спасибо!

+1

Вы пытались использовать LogCat, чтобы узнать, что вызывает окно Force Close? –

ответ

2

Я хочу всплывающее окно ввода пользователем с этой услугой периодически.

Просьба пересмотреть этот план. Используйте Notification. Ваши пользователи будут вам благодарны.

EDIT: Чтобы уточнить, я предполагаю, что вы ищете «всплывающее окно ввода пользователя» асинхронно, без какой-либо активности на переднем плане. Если это так, это не большой образец пользовательского интерфейса - пользователи могут легко раздражаться, когда ваша активность появляется в середине, скажем, при вводе текстового сообщения.

Итак, я пробовал называть операцию от , но это не помогает. Появляется ботинок с силовым закрытием и служба умирает.

Убедитесь, что вы вызываете startActivity() из нити пользовательского интерфейса. Если это не поможет, как предложил адвокат, проверьте LogCat с помощью adb logcat, DDMS или перспективы DDMS в Eclipse, чтобы получить трассировку стека Java из вашего исключения.

+0

+1 для точки Марка здесь. Я помню, что читал это и в документах Android. 99 раз из 100, вы хотите вывести уведомление, которое пользователь может посещать на досуге. – Konklone

1

Это не имеет прямого отношения к ответу (commonsware.com уже дал хороший обзор того, как его решить), а просто совет: если у вас есть фоновая служба, работающая с кодом с перерывами, вы должны использовать службу AlarmManager для пробуждения, вместо того, чтобы оставаться на неопределенный срок. В принципе, запустите Службу, создайте ли PendingIntent для вызова себя, затем попробуйте, когда это необходимо, пробудить себя.

Смежные вопросы