在 Android 应用中,发送包含 URL 的短信可能会遇到被截断的问题,这是因为短信长度的限制。为了解决这个问题,可以使用 Bitly 或 TinyURL 这样的 URL 缩短服务,将原始 URL 缩短后再发送短信。下面是一个使用 Bitly API 进行 URL 缩短的示例:
// 使用 Bitly API 缩短 URL private String shortenUrl(String longUrl) { String url = "https://api-ssl.bitly.com/v3/shorten?access_token=API_ACCESS_TOKEN&longUrl=" + longUrl; String response = "";
try {
response = new OkHttpClient().newCall(new Request.Builder().url(url).build()).execute().body().string();
JSONObject jsonObject = new JSONObject(response);
JSONObject data = jsonObject.getJSONObject("data");
return data.getString("url");
} catch (IOException | JSONException e) {
e.printStackTrace();
}
return longUrl;
}
// 发送包含缩短 URL 的短信 private void sendSmsWithShortUrl(String phoneNumber, String message) { String longUrl = "http://your-long-url-here.com"; String shortUrl = shortenUrl(longUrl); Intent intent = new Intent(Intent.ACTION_SENDTO); intent.setData(Uri.parse("smsto:" + phoneNumber)); intent.putExtra("sms_body", message + " " + shortUrl); startActivity(intent); }
在上面的示例中,shortenUrl 方法使用了 Bitly API 将原始 URL 缩短,sendSmsWithShortUrl 方法发送包含缩短 URL 的短信。在使用时,需要将 API_ACCESS_TOKEN 替换成自己的 Bitly API 令牌,将 http://your-long-url-here.com 替换成真正的需要缩短的 URL。
上一篇:Android短信验证API