天天看點

android調用發短信,使用Sinch發送短信(Android)

我正在嘗試使用Sinch發送短信,但我從伺服器收到404和500錯誤.

我閱讀了Sinch文檔,我的代碼與示例比對.有什麼遺失的嗎?

你可以在下面看到我的代碼.當我嘗試讀取InputStream時它會崩潰.

public static boolean sendSMS(String message) {

try {

String phoneNumber = "00351961234567";

URL url = new URL("https://messagingapi.sinch.com/v1/sms/ " + phoneNumber);

HttpURLConnection connection = (HttpURLConnection) url.openConnection();

connection.setDoOutput(true);

connection.setRequestMethod("POST");

connection.setRequestProperty("Content-Type","application/json");

String userCredentials = "application\\" + Constants.SINCH_APP_KEY + ":" + Constants.SINCH_APP_SECRET;

byte[] encoded = Base64.encodeBase64(userCredentials.getBytes());

String basicAuth = "Basic " + new String(encoded);

connection.setRequestProperty("Authorization",basicAuth);

String postData = "{\"From\":\"00351913470050\" \"Message\":\"" + message + "\"}";

OutputStream os = connection.getOutputStream();

os.write(postData.getBytes());

int status = connection.getResponseCode();

StringBuilder response = new StringBuilder();

InputStreamReader is = new InputStreamReader(connection.getInputStream());

BufferedReader br = new BufferedReader(is);

String line;

while ( (line = br.readLine()) != null)

response.append(line);

br.close();

os.close();

Log.i("SMS",response.toString());

return true;

} catch (IOException e) {

e.printStackTrace();

}

return false;

}