为了账号安全,请及时绑定邮箱和手机立即绑定

在Android中以编程方式发送短信

在Android中以编程方式发送短信

暮色呼如 2019-11-11 12:59:14
好。我正在通过我的应用发送短信。发送文本消息后,它将状态更新发送到服务器。这部分工作正常,但是我遇到的问题是双重的。我不确定它们是否相关,但我认为它们是相关的。我的应用程序可以将单个文本发送给多个用户。这是代码示例...if(phoneNumbers.length > 0 && message.getText().toString().equals("") == false){    for(int i=0;i<phoneNumbers.length;i++)    {        sms = SmsManager.getDefault();        try        {            sms.sendTextMessage(phoneNumbers[i], null, message.getText().toString(), null, null);            sentQuantity++;        }        catch(IllegalArgumentException e)        {        }    }}基本上,它只是遍历一组电话号码,然后一次发送一个文本。这就是我的问题所在。如果我选择3个或更多的数字发送文本到,有时并非所有文本都实际发送。它非常随机地发生。我认为这是因为发送每个单独的消息之间存在延迟,但是代码没有等待足够长的时间。我达到了这个假设,因为如果我使用eclipse进入程序并手动浏览应用程序,那么一切都会正常进行。我的另一个问题是当我将短信状态更新发送到Web服务器时。发送短信后,该应用程序立即连接到互联网,并通过http帖子告知服务器发送的短信数量。这是我的互联网代码段...for(int i = 0; i < postNames.length; i++){    nameValuePairs.add(new BasicNameValuePair(postNames[i], postValues[i]));    }    //http post    try{            HttpParams httpParameters = new BasicHttpParams();            int timeoutConnection = 10000;            HttpConnectionParams.setConnectionTimeout(httpParameters,timeoutConnection );            HttpClient httpclient = new DefaultHttpClient(httpParameters);                          HttpPost httppost = new HttpPost(webAddress);            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));            HttpResponse response = httpclient.execute(httppost);            HttpEntity entity = response.getEntity();            is = entity.getContent();本节仅编译帖子的项目,连接到网页并发送帖子。此处的关键是10秒的连接超时。再一次,就像我之前说的,互联网连接在发送文本后立即发生。因此,如果我进入调试模式并手动完成该过程,则一切正常。但是,如果我仅在手机上运行该应用程序,则会收到连接超时错误。现在,我希望,如果我能将文本消息的数量减少为一个文本,而不考虑收件人的数量,那真是太棒了。我尝试用逗号分隔电话号码,但没有用。我还尝试用分号分隔数字(就像Microsoft Outlook或GMail一样,可以将多个收件人添加到电子邮件中)。这些都不对我有用。有没有人有什么建议?即使完全有不同的方法,也将不胜感激。哦,我不想使用Google Messaging意图发送消息,我需要使用自己的应用程序。
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 384 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信