2013-03-25 103 views
2

我想制作一个广播接收器,当设备关机时,它会向某个电话号码发送简单的短信。当设备关闭时发送短信

这里是我的代码:

public class ShutDownReceiver extends BroadcastReceiver { 

SmsManager sms = SmsManager.getDefault(); 

@Override 
public void onReceive(Context context, Intent intent) { 

    Log.i("Log","Device shutting down NOW!"); 

         //An actual phone number here 
    sms.sendTextMessage("0670#######", null, "This is a text for sms", null, null); 

     } 

}

到目前为止,结果:

我可以清楚地看到日志消息时,我关闭设备。 因此,BroadcastReceiver在关闭时运行良好,但没有短信发送,没有例外。

我试着用简单的按钮点击这个短信发送方法,绝对成功。

所以,我知道,短信发送方法是正确的,我知道,关机接收器是正确的,但由于某种原因,它不发送短信。

对此有何想法? (我与真正的设备,而不是模拟器工作)。

+0

我正在尝试实现相同的功能,因为相关的系统服务已被禁用。如果有人能够实现这一点,请让我知道。 – Sujay 2013-12-17 10:09:49

回答

1

我使用....

SmsManager.getDefault().sendTextMessage(number, null, smsText, null, null); 

...而且只要是非常有效的

  1. 手机号码有效
  2. 消息文本不太长
  3. 电话服务可用(是否尝试了另一个事件以确保服务未收到前已关闭Ë关机?)
  4. android.permission.SEND_SMS被授予

希望这有助于...干杯!

+0

错误..你是什么意思的数字3?我可以在其他地方发送短信,但无法在关机时发送。我仍然收到关于“关机”的日志消息。 – 2013-03-25 22:12:07

+1

我在想的是:当你的设备关机时 - 可能是因为在ShutdownReceiver时刻,你不能再发送消息了,因为相关的系统服务已被禁用?那么,我不知道......这只是一个猜测 – Trinimon 2013-03-26 06:44:09

+0

是的,这也是我能想象的第一件事,如果有人能够直接指向我,这将是很好的。 – 2013-03-27 13:42:37