18

在 SOverflow 上的一些问题上,我发现了THIS。但它说它目前不可用,并且可能永远不会可用。

基于,我意识到没有必要建立自己的短信服务。

所以问题:

我的 java 应用程序必须向用户发送 SMS 消息并接收来自用户的 SMS 消息。我真的需要支付一些 SMS 网关,还是有一些免费的 SMS GATEWAY(当然有一些限制)可以用来测试我的应用程序?

Simplewire 套件看起来非常简单,但演示示例失败了,因为我没有Simplewire 帐户。Simplewire 文档说发送 SMS 有 30 天的试用期。但这有两种方式:

“对于 2-Way,演示积分不可用,因为您需要在 Simplewire 的网络上托管您自己的手机号码。Simplewire 支持许多不同国家和地区代码的 2-Way 号码。请联系 Simplewire 了解更多信息。”

4

3 回答 3

4

仅供参考 Simplewire 现在是 OpenMarket.com/MXTelecom.com

有几个免费的 SMS 网关,但它们都在您的消息中附加了 SMS 广告以支付费用。ZeepMobile 是我听到最多的一个。至于支付有几个解决方案,但这一切都取决于您的需求。

两种方式的通信需要最终用户订阅您的服务。有几种方法可以解决这个问题:

短代码:您可以获取自己的 (www.openmarket.com) 或与他人共享 (www.clickatell.com) 您可以使用新服务 www.twilio.com 看起来不错但尚未测试。

如果您只需要一种通信方式,那么您可以使用类似电子邮件到网关短信的方式,但是您需要知道最终用户所在的运营商。

于 2010-11-24T14:46:35.813 回答
2

Fowiz 提供免费的基于 Android 的解决方案来发送/接收来自应用程序的文本消息。您需要在您的设备上安装他们的 Android 应用程序以启用此服务,并在您的手机上发送/接收消息。您可以设置 CallbackUrl 以接收有关传入消息的即时通知。Fowiz 还支持短代码、活动管理、投票等。

通过 Fowiz 发送消息的示例代码:

    String myPasscode = 'your passcode';
    String myUsername = 'your fowiz username';    
    String toPhoneNumber = 'recipient phone number';
    String myMessage = 'your message';

    HttpClient client = new DefaultHttpClient();
    HttpGet request = new HttpGet(HTTP_API + "?username="+myUsername
            "&phonenumber="+toPhoneNumber
    +"&message="+myMessage+"&passcode="+myPasscode);
    HttpResponse response = client.execute(request);

    BufferedReader rd = new BufferedReader
      (new InputStreamReader(response.getEntity().getContent()));

    String line = "";
    StringBuffer response = new StringBuffer();
    while ((line = rd.readLine()) != null) {
              response.append(line);
    }   

    System.out.println(response.toString());

来源:http ://cloud.fowiz.com/2help.html

于 2014-03-25T05:31:27.337 回答
1

是的,您可以在 5 分钟内构建自己的 API。您的 android 手机可以作为服务器 API 使用 Java 代码发送和接收 SMS。这样做非常简单。有一些基本步骤

  1. 在您的手机中从 playstore 下载 Android GSM Modem 应用程序GSM Modem FREE SMS in JAVA
  2. 您还需要帮助工具来发送或接收短信而不会受到任何干扰。您还可以在 android 中扩展您的功能以及GSM Modem Helper Tool
  3. 如果你想一步一步地学习。还有指南和视频教程。用 Java 发送或接收免费短信

    public class SMSSender {
    public static void main(String[] args) throws Exception{
    // TODO Auto-generated method stub
    String message = "Junk characters? method sendMultipartTextMessage only send text message. If you want to send non text message, you should look to method sendDataMessage. Below is the code excerpt from android cts. It has example on how to send long messages.";      
    String phone = "92***********";
    String username = "abcd";
    String password = "1234";
    String address = "http://192.168.1.101";
    String port = "8090";
    
    URL url = new URL(
            address+":"+port+"/SendSMS?username="+username+"&password="+password+
            "&phone="+phone+"&message="+URLEncoder.encode(message,"UTF-8"));
    
    URLConnection connection = url.openConnection();
    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
    String inputLine;
    while((inputLine = bufferedReader.readLine()) !=null){
        System.out.println(inputLine);
    }
    bufferedReader.close();
    }
    }
    
于 2019-09-05T12:28:35.703 回答