我知道可以在android上处理传入的短信,我认为即使是初学者也可以做到这一点。但我的问题是:当设备锁定时应用程序是否也会运行?我正在开发一个应用程序,当设备收到短信时,该应用程序会将包含文本和发件人的电子邮件发送到特定的电子邮件地址。但是,当设备在几分钟后自行锁定时,它也必须工作?什么是最好的方法,或者它是否已经使用onRecieve方法工作? 感谢您提供任何帮助,请相信我对编程很陌生:D
答案 0 :(得分:1)
这很复杂......
一旦应用程序暂停(这意味着:屏幕上没有显示),Android系统可能会销毁它以节省电池电量或降低CPU / RAM使用率。 所以:不,你不能保证应用程序仍然活着。
您可以将BroadcastReceiver
设置为AndroidManifest.xml
并在应用中创建BroadcastReceiver
课程。将调用onReceive()
方法,并且将执行您在类中设置的代码。即使应用程序在收到短信时没有运行。
但还有另一个问题:深度睡眠。为了节省电池,Android将在设备未使用数小时后关闭任何电池密集型系统。电池密集型系统包括:Wi-Fi和数据。 SMS被排除在此列表之外(但是一些构造函数可能包括在深度睡眠时禁用SMS接收的选项,在这种情况下,您没有选项,只是警告用户不要在深度睡眠中禁用SMS接收),优雅地。
这意味着实施onReceive()
方法是不够的。您需要唤醒设备才能启用Wifi和数据,以便发送电子邮件。
因此,为避免此问题,请扩展WakefulBroadcastReceiver
。这就像一个正常的"广播接收器,但它将唤醒设备,并在代码完全执行时让它再次休眠。