当网络信号可用时,通过应用程序自动发送短信

时间:2012-03-20 06:16:28

标签: android

我们正在开发一款Android应用,可通过短信发送所需数据。

我们可以通过应用程序发送短信,但是当网络不可用时会出现问题。 它显示SMS失败。

我们正在使用Action_Send在网络信号不可用时发送短信(希望避免)     - 因为它增加了按下内部短信服务发送按钮的额外步骤(想要自动发送)

你能帮助生成像内置短信服务那样发送短信的代码,即

  • 短信从等待的地方发送到发件箱,并在信号可用时自动发送

2 个答案:

答案 0 :(得分:1)

尝试此代码发送短信

private void sendSMS(String phoneNumber, String message)
{        
    Log.d("phoneNumber",phoneNumber);
    Log.d("MEssage",message);
    PendingIntent pi = PendingIntent.getActivity(CONTEXT, 0,
        new Intent(CONTEXT,Object.class), 0);                
    SmsManager sms = SmsManager.getDefault();
    sms.sendTextMessage(phoneNumber, null, message, pi, null);        
} 

答案 1 :(得分:0)

当您没有信号时,启动广播接收器以检查信号是否可用。它会自动向您的应用程序广播有关signel的消息。然后再次开始发送消息。

public class SampleBroadcastReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub
        if(intent.getAction() != null)
        {
            Toast.makeText(context, ""+intent.getAction(), Toast.LENGTH_LONG);
            Log.d("onReceive","intent.getAction():::"+intent.getAction());

             if(intent.getAction().equals(android.net.ConnectivityManager.CONNECTIVITY_ACTION))
            {
                ServiceState _state = new ServiceState();

            }
        }

    }

}