Cara Mengirim SMS di Android Menggunakan Delphi XE8

Tutorial kali ini kita akan belajar membuat sebuah aplikasi Android yang mampu mengirim sms langsung dari smartphone. Aplikasi ini akan kita buat menggunakan script Delphi XE8 yang berbasis bahasa Pascal. Berhubung sampai dengan versi Delphi XE8 belum ada komponen khusus yang dapat mengirim SMS, maka kita harus menulis sendiri script-nya. Kali ini kita akan memanfaatkan SMS Manager, yakni framework bawaan dalam sistem operasi Android yang bertugas menangani SMS yang masuk dan keluar. Jadi script kita nantinya cukup memerintahkan SMS Manager untuk mengirim (atau menerima) SMS, tidak lagi langsung menangani SMS menggunakan perintah AT COMMAND. Kalau misalnya kita menggunakan AT Command sebenarnya bisa aja, tapi nantinya akan langsung menghubungi hardware layer (modem).

Untuk menggunakan SMS Manager melalui Delphi XE8, kita harus menggunakan JNI (Java Native Interface) Bridge. JNI ini adalah semacam library penghubung antara Delphi yang menggunakan bahasa Pascal dengan Android yang native-nya menggunakan bahasa Java.  Tambahkan unit-unit JNI Bridge berikut di bawah statement ‘uses’ :

Androidapi.JNI.GraphicsContentViewText,
Androidapi.JNI.Net,
Androidapi.JNI.JavaTypes,
Androidapi.JNI.Telephony

Berikutnya, buat semacam prosedur khusus untuk mengirim SMS sebagai berikut :

procedure KirimSMS (no_tujuan,pesan:string);
var
smsManager: JSmsManager;
smsTo: JString;

begin
 smsManager:= TJSmsManager.JavaClass.getDefault;
 smsTo:=StringToJString(no_tujuan);
 smsManager.sendTextMessage(smsTo, nil, StringToJString(pesan), nil, nil);
end;

Perhatikan pada baris [3] kita menciptakan sebuah instance baru dengan nama smsManager dari kelas JSmsManager. Melalui instance inilah kita dapat mengakses semua fungsionalitas SMS Manager untuk menangani SMS (misalnya untuk mengirim SMS pada baris [9] menggunakan method ‘sendTesxtMessage’).

Selanjutnya tinggal kita panggil procedure ‘KirimSMS’ di atas dengan sintaks:

KirimSMS (no_tujuan, pesan);

Untuk lebih jelasnya, ambil komponen TButton dari Component Pallete dan isikan event handler-nya dengan script di bawah:

procedure TForm1.Button1Click(Sender: TObject);
begin
 KirimSMS ('+6281xxxxxxx','ini sms dr android - delphi');
end;

Terakhir, Anda harus mendefinisikan ‘User Permission’ untuk mengirim SMS (android.permission.SEND_SMS) di file Android Manifest. Anda dapat langsung menambahkan user permission tersebut di file Android Manifest (<uses-permission android:name=”android.permission.SEND_SMS” />) atau untuk lebih mudahnya melalui menu Project-Options-User Permission. Kemudian cari dan centang pilihan ‘Send SMS’

user permission program delphi xe8 sms

Jalankan program langsung ke smartphone Android (tekan F9). Pastikan usb driver untuk smartphone Anda sudah terinstal ya, dan smartphone Anda sudah terbaca di kotak ‘target device’ di IDE Delphi XE8. Berikut ini adalah tampilan contoh aplikasi mengirim SMS di Android mengggunakan Delphi XE8:

aplikasi android kirim sms yang dibuat dengan delphi xe

Begitu Anda tekan tombol ‘Send SMS’ maka aplikasi akan langsung mengirim SMS ke no +6281xxxxxxx sesuai script di atas

sms yang diterima dari aplikasi android delphi xe 8 send sms

Sekian tutorial kali ini, semoga bermanfaat. Untuk tutorial membaca SMS di Android dengan Delphi XE8 akan saya tulis kemudian. Keep stay tune on my blog 🙂

0 0 votes
Article Rating

Leave a Reply

13 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Rudi Santoso

Pernah mencoba MQTT Subscriber message dengan Delphi mas ?

Amri

Assalamualaikum mas, gimana kalo untuk menerima pesan di delphi xe8? mohon bantuannya.
sekian dan thanks.

Amri

trus syntax bagian mana yg beda,? soalnya mau di jadiin referensi skripsi mas..
dlam waktu dkt ni bisa gak?
Thanks.

Rouf

Bisa minta link download project nya gak mas

BizriL

Jika menggunakan AT-Command bagaimana cara mendeteksi port modem android smartphone (Lenovo a2010-a) ? saya sudah install USB driver yang sesuai tetapi tidak menemukan port modemnya.
Trims

fadly

mas aji, klo ada pesan error undeclared identifier ‘StringToJString’ itu masalah dimana ya mas?.. saya coba tekan F1 untuk cari di help nya ga ketemu

fadly

sudah solved mas,..
tinggal tambahkan unit Androidapi.Helpers;

Lee

ini koding receive nya aman

Lee

Ini koding cara receive sms nya ada di mana

13
0
Would love your thoughts, please comment.x
()
x