Android - 来自服务的活动?

时间:2009-11-28 18:55:22

标签: android service android-activity

我正在扩展IntentService类以在Android上运行后台服务。服务立即启动后启动。我想定期从这个服务弹出一个用户输入框。所以,我尝试从服务中调用一个Activity,但它没有帮助。可怕的强制关闭框出现,服务终止。 任何人都可以建议一些从后台服务调用活动的方法吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

  

我想从中弹出一个用户输入框   这项服务定期。

请重新考虑这个计划。使用Notification。您的用户会感谢您。

编辑:为了澄清,我假设您正在寻找“异步弹出用户输入框”,而不会在前台进行某些活动。如果是这样,那不是一个很棒的用户界面模式 - 当你的活动在中间弹出时,例如他们输入短信时,用户可能会很容易生气。

  

所以,我尝试从中调用一个Activity   服务,但它没有帮助。该   出现了可怕的强制关闭盒子   服务就此消失。

确保从UI线程中调用startActivity()。如果这没有帮助,正如aforlorney建议的那样,请通过Eclipse中的adb logcat,DDMS或DDMS透视图检查LogCat,以获取异常的Java堆栈跟踪。

答案 1 :(得分:1)

这与答案没有直接关系(commonsware.com已经很好地概述了如何解决这个问题),但只是一个提示:如果你有一个间歇运行代码的后台服务,你应该让服务使用AlarmManager唤醒自己而不是无限期地停留。基本上,启动服务,让它创建一个PendingIntent来调用自己,然后让它在必要时唤醒它。