如何创建一个像Windows服务一样运行的Android服务?

时间:2011-11-28 02:28:40

标签: android android-service

我想创建一个没有用户界面并且总是在后台运行的服务 - 查找具有特定子字符串的SMS,然后使用自己的SMS进行响应(以编程方式发送,无需用户干预)。有人知道怎么做吗?

2 个答案:

答案 0 :(得分:6)

扩展Darth Beleg的答案。实际上不可能做你正在描述的事情(至少不完全是这样)。

正如达斯解释的那样,唯一可以检测传入短信的方法就是收听Intent。之所以无法完全按照自己的意愿行事是因为Service无法听取Intent

我建议使用BroadcastReceiver来监听Intent,然后启动IntentService(而不是Service)并做出相应的回应。 IntentServices不会一直运行 - 它们已经启动,然后执行它们的工作然后关闭。做你想要的更有效的方式。

答案 1 :(得分:4)

您不需要为此任务提供始终运行的服务 - 只需设置一个BroadcastReceiver,通过操作“android.provider.Telephony.SMS_RECEIVED”侦听意图。有关示例,请参阅this article