我想创建一个没有用户界面并且总是在后台运行的服务 - 查找具有特定子字符串的SMS,然后使用自己的SMS进行响应(以编程方式发送,无需用户干预)。有人知道怎么做吗?
答案 0 :(得分:6)
扩展Darth Beleg的答案。实际上不可能做你正在描述的事情(至少不完全是这样)。
正如达斯解释的那样,唯一可以检测传入短信的方法就是收听Intent
。之所以无法完全按照自己的意愿行事是因为Service
无法听取Intent
。
我建议使用BroadcastReceiver
来监听Intent
,然后启动IntentService
(而不是Service
)并做出相应的回应。 IntentServices
不会一直运行 - 它们已经启动,然后执行它们的工作然后关闭。做你想要的更有效的方式。
答案 1 :(得分:4)
您不需要为此任务提供始终运行的服务 - 只需设置一个BroadcastReceiver,通过操作“android.provider.Telephony.SMS_RECEIVED”侦听意图。有关示例,请参阅this article。