Java ME ile SMS gönderme

____________________________________________________________________

platformunda SMS iletileri göndermek Wireless Messaging API (WMA); JSR 120, JSR 205 ile mümkündür. JSR 120 orijinal mesajlaşma arayüzüdür, 205 de bunun daha fonksiyonel halidir ya da olacaktır, tam 205 ile ilgili bilgi sahibi değilim.

Aşağıda JSR 120 kullanarak SMS iletisi gönderebileceğiniz basit bir kod yer almaktadır. Burada sadece SMS iletisinin gönderilmesini sağlayan kodları göstereceğimden bu kodlar tek başına pek bir şeye yaramayacaktır.

Bu iki sınıf ileti göndermek için mutlaka etkinleştirilmelidir.

import javax.wireless.messaging.*;
import javax.microedition.io.*;

Aşağıdaki kod SMS iletinizi alıp belirttiğiniz numaraya gönderecektir. Yalnız her Ağ iletişim işleminde yaptığınız gibi kodu mutlaka farklı bir süreçte (Thread) çalıştırın, uygulamanıza göre arayüzün donup bir daha yanıt vermemesine sabep olabilir (Özellikle emülatörlerde). Yine girdi çıktı işlemi olduğundan istisna (Exception) dönme olasılığı da vardır ki bu sebeple kodu try catch ifadeleri ile kullanmalısınız.

try
{
String numara = “sms://+905370000000”;
//SMS’in iletileceği alıcının numarasıdır, baştaki “sms://” kısmına dikkat edin.
MessageConnection mesajBaglantisi = (MessageConnection) Connector.open(numara);
TextMessage mesaj = (TextMessage) mesajBaglantisi.newMessage(MessageConnection.TEXT_MESSAGE);
//İleti oluşturulur ve türü seçilir. TEXT_MESSAGE ve MULTIPART_MESSAGE kullanabileceğiniz türlerdir. BINARY_MESSAGE kullanım alanı biraz farklıdır.
mesaj.setPayloadText(“String biçminde gönderilecek SMS iletisi. 140 karakterden uzun olursa SizeExceededException dönecektir.“);
mesajBaglantisi.send(mesaj);
//Bu kısım da iletimizi gönderecek.
}
catch(Exception ex)
{
//Bir istisna atılması durumunda bunu yakalayacak kısım. Burada sadece ekranda bir uyarı gösterdim.
Alert Hata = new Alert(“Hata”);
Hata.setType(AlertType.ERROR);
Hata.setString(“Beklenmedik bir hata oluştu:\n”+ex.getMessage());
Display.getDisplay(this).setCurrent(Hata);
}