我正在扩展IntentService类以在Android上运行后台服务。服务立即启动后启动。我想定期从这个服务弹出一个用户输入框。所以,我尝试从服务中调用一个Activity,但它没有帮助。可怕的强制关闭框出现,服务终止。 任何人都可以建议一些从后台服务调用活动的方法吗?
谢谢!
答案 0 :(得分:2)
我想从中弹出一个用户输入框 这项服务定期。
请重新考虑这个计划。使用Notification
。您的用户会感谢您。
编辑:为了澄清,我假设您正在寻找“异步弹出用户输入框”,而不会在前台进行某些活动。如果是这样,那不是一个很棒的用户界面模式 - 当你的活动在中间弹出时,例如他们输入短信时,用户可能会很容易生气。
所以,我尝试从中调用一个Activity 服务,但它没有帮助。该 出现了可怕的强制关闭盒子 服务就此消失。
确保从UI线程中调用startActivity()
。如果这没有帮助,正如aforlorney建议的那样,请通过Eclipse中的adb logcat
,DDMS或DDMS透视图检查LogCat,以获取异常的Java堆栈跟踪。
答案 1 :(得分:1)
这与答案没有直接关系(commonsware.com已经很好地概述了如何解决这个问题),但只是一个提示:如果你有一个间歇运行代码的后台服务,你应该让服务使用AlarmManager唤醒自己而不是无限期地停留。基本上,启动服务,让它创建一个PendingIntent来调用自己,然后让它在必要时唤醒它。