我正在扩展IntentService类以在Android上运行后台服务。该服务立即启动后启动。我想定期从这项服务中弹出一个用户输入框。所以,我尝试从服务中调用一个活动,但它没有帮助。出现Force Close的可怕框并且服务消失。 任何人都可以提出一些方法来调用后台服务的活动吗?Android - 服务中的活动?
谢谢!
我正在扩展IntentService类以在Android上运行后台服务。该服务立即启动后启动。我想定期从这项服务中弹出一个用户输入框。所以,我尝试从服务中调用一个活动,但它没有帮助。出现Force Close的可怕框并且服务消失。 任何人都可以提出一些方法来调用后台服务的活动吗?Android - 服务中的活动?
谢谢!
我想定期从 这个服务弹出一个用户输入框。
请重新考虑这个计划。使用Notification
。你的用户会感谢你。
编辑:为了澄清,我假设你正在寻找“弹出一个用户输入框”异步,没有在你的前台活动。如果是这样,那不是一个好的用户界面模式 - 当用户输入文本信息时,用户可能会很容易被打扰。
所以,我试图从 服务调用一个活动,但它并没有帮助。出现 Force Close的可怕框并且 服务死亡。
确保您从UI线程调用startActivity()
。如果没有帮助,正如aforlorney所建议的那样,通过adb logcat
,DDMS或Eclipse中的DDMS透视图检查LogCat,以获取异常的Java堆栈跟踪。
马克在这里点+1。我还记得在Android文档中阅读过这些内容。 100次中有99次,你想弹出一个通知,用户可以在闲暇时参加。 – Konklone 2009-11-28 23:38:09
这与答案没有直接关系(commonsware.com已经给出了如何解决这个问题的很好的概述),但只是一个提示:如果你有一个间歇性运行代码的后台服务,您应该使用AlarmManager将服务唤醒,而不是无限期地继续。基本上,启动服务,让它创建一个PendingIntent来调用它自己,然后在必要时唤醒它自己。
您是否尝试过使用LogCat来查看导致强制关闭框出现的内容? – 2009-11-28 19:17:10