Android使用短信网关

时间:2012-06-25 17:09:01

标签: java android sms sms-gateway

我需要在我的android应用程序中放入一个使用免费服务通过互联网发送免费短信的工具......

我看到许多应用程序都能够集成这些服务。 我尝试了很多,但我没有找到任何有用的东西..

所以我问你......如何使用uthsms.net的网关(例如)用我的Android应用程序发送短信?

对于一般性问题感到抱歉..但我没有找到解决此问题的任何起点。

提前致谢

2 个答案:

答案 0 :(得分:2)

使用Firebug之类的工具查看点击网站上的按钮时发送的内容。我看到使用一些参数对uthsms.net进行了POST请求。您应该可以使用您的应用程序执行相同的POST。

这些是参数:

button: Send SMS
country: (some integer)
gateway: 0
hyderabad: your message
remLen: remaining length??
sindh: number to send sms to (without the +)
x: some integer
y: some integer

要在Android中使用以下代码发送此POST请求:

URL url = new URL("http://uthsms.net");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();

String data = URLEncoder.encode("button", "UTF-8") + "="
        + URLEncoder.encode("Send SMS", "UTF-8");
data += "&" + URLEncoder.encode("country", "UTF-8") + "="
        + URLEncoder.encode(country, "UTF-8");
data += "&" + URLEncoder.encode("gateway", "UTF-8") + "="
        + URLEncoder.encode("0", "UTF-8");
data += "&" + URLEncoder.encode("hyderabad", "UTF-8") + "="
        + URLEncoder.encode(message, "UTF-8");
data += "&" + URLEncoder.encode("remLen", "UTF-8") + "="
        + URLEncoder.encode(remLen, "UTF-8");
data += "&" + URLEncoder.encode("sindh", "UTF-8") + "="
        + URLEncoder.encode(number, "UTF-8");
data += "&" + URLEncoder.encode("x", "UTF-8") + "="
        + URLEncoder.encode("0", "UTF-8");
data += "&" + URLEncoder.encode("y", "UTF-8") + "="
        + URLEncoder.encode("0", "UTF-8");
conn.setDoOutput(true);

OutputStreamWriter wr = new OutputStreamWriter(
        conn.getOutputStream());
wr.write(data);
wr.flush();


BufferedReader inStream = new BufferedReader(new InputStreamReader((conn.getInputStream())));

result = inStream.readLine();

inStream.close();

结果似乎是一个html文档。在某处你应该找到成功消息或可能的错误。

答案 1 :(得分:0)

试试GoogleVoice API。它有文档,可能会帮助您入门。

这是一个链接:https://code.google.com/p/google-voice-java/