处理需要永生的服务的最佳方式是什么?或者有没有更好的方法

问题描述:

我有一个活动,查找从用户界面输入的电话号码从本地sqlite数据库中显示数字的始发城市/状态。部分活动还包括在电话上监听来电和去电的服务。当进行通话或进入通话时,它会在屏幕底部显示Toast消息,并在数据库中显示该号码的城市/州。据我所知,没有让服务永远活着就没有办法实现这个功能。现在我有一个警报设置每小时运行一次,如果它已被杀死,重新启动服务。我记得一款以这种方式工作的旧应用程序,称为“未接电话”,它根据收到的信息(未接电话,短信,电子邮件等)更改通知LED颜色。我的问题是,是否有更好的方法去做这件事?我知道让服务永远运行是非常令人不快的,但除非我错过了某些东西,否则我没有看到任何其他方法。处理需要永生的服务的最佳方式是什么?或者有没有更好的方法

谢谢!

+0

您是否在谈论Windows服务? – Dev 2009-11-12 18:30:36

+0

@Dev问题被标记为“android”,所以可能不是。 – 2009-11-12 18:31:57

+0

哦,对不起...错过了那个标记 – Dev 2009-11-12 18:37:44

你在上面埃文您的评论描述的是我究竟是如何做到的我自己的应用程序,听了呼入和呼出(一个小应用程序名为MinuteWatch没有人买的)。

有来电没有广播的意图,所以,你应该怎么回事办呢?我想这是因为你不能拖延或以其他方式混淆来电,因为它们至关重要,但我认为它会谴责你无限的服务。这是我唯一能想到的独一无二的东西。即使是像检查推文一样的事情 - 每15分钟一次,您就可以通过重复发出的警报来实现这一点,而不会让服务停滞不前。

即使Android团队不想要INCOMING_CALL事件,我认为他们应该考虑放入名为CALL_RECEIVED和CALL_ENDED和CALL_HELD的广播Intent,它至少会在事后通知您。你还应该如何构建一个备用通话记录工具?