好。我正在通过我的应用发送短信。发送文本消息后,它将状态更新发送到服务器。这部分工作正常,但是我遇到的问题是双重的。我不确定它们是否相关,但我认为它们是相关的。我的应用程序可以将单个文本发送给多个用户。这是代码示例...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
提交
取消