2

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

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

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

很抱歉这个通用问题..但我没有找到解决这个问题的任何起点。

提前致谢

4

2 回答 2

2

使用 Firebug 等工具查看单击网站上的按钮时发送的内容。我看到使用一些参数对 uthsms.net 进行了 POST-Request。您应该能够对您的应用程序执行相同的 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 文档。你应该在里面的某个地方找到成功消息,或者可能的错误。

于 2012-06-25T17:13:44.950 回答
0

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

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

于 2012-06-25T17:12:42.550 回答