Menangani kode USSD hampir sama dengan menangani panggilan telepon (call) di sistem operasi Android. USSD (Unstructured Supplementary Service Data) adalah semacam kode/protokol yang berjalan di GSM network antara handphone dan USSD service gateway milik operator. Contohnya adalah ketika Anda mau mengecek pulsa, Anda cukup mengetik *123# untuk operator X, *888# untuk operator, *555* untuk operator I, dst.
Untuk menangani USSD melalui aplikasi Android, kita bisa memanfaatkan ‘intent’ secara ekspilisit untuk memanfaatkan service ‘call’ yang sudah ada dalam sistem operasi Android. Yang perlu kita lakukan adalah mendeklarasikan ‘permission’ di file AndroidManifest.xml untuk ‘meminta ijin’ menggunakan service bawaan Android tersebut.
<uses-permission android:name=
“android.permission.CALL_PHONE”>
</uses-permission>
Permission di atas adalah sama dengan permission saat kita melakukan panggilan (call). Bedanya dengan USSD adalah kita harus menambahkan kode ‘*’ dan ‘#’ di awal dan di akhir nomor USSD. Nantinya secara default, kode tersebut akan ‘dilempar’ Android sebagai kode USSD. Berikutnya, tuliskan kode untuk menangani kode USSD di file MainActivity.java di folder /scr sbb :
public void ussdclick (View v) {
EditText teksedit = (EditText) findViewById (R.id.editText1);
Intent intent= new Intent(Intent.ACTION_CALL,
Uri.parse("tel:"+ Uri.encode("*")+teksedit.getText()+ Uri.encode("#")));
startActivity(intent);
}
Sebelumnya atur dulu tampilan program Android melalui file Activity_main.xml di folder /res/layout. Buka melalui IDE Eclipse, pilih tab Graphical Layout dan ambil komponen ‘Button’ dan ‘editText masing-masing di pallete ‘Form Widgets’ dan ‘Text Fields’. Drag and drop kedua komponen tersebut hingga tampilannya seperti gambar di bawah.
Jangan lupa menambahkan kode android:onClick=“ussdclick” sebagai property tombol ‘Button’. Caranya buka file activity_main.xml, cari tulisan ‘Button’ dan salin kode di atas di bawah tulisan ‘Button’.
Jika sudah Anda lakukan langkah-langkah di atas, running program di atas melalui tombol ‘Run’ atau dengan menekan shortkey Ctrl+F11. Jika tidak ada kesalahan dalam proses debug, seharusnya akan muncul tampilan sebagai berikut
Jika Anda menggunakan simcard dari operator X, maka cukup ketikkan angka 123 dan tekan tombol ‘Button’ maka Anda akan di-forward ke layanan USSD operator tersebut.
Semoga bermanfaat dan selamat mencoba 🙂
a Technopreneur – writer – Enthusiastic about learning AI, IoT, Robotics, Raspberry Pi, Arduino, ESP8266, Delphi, Python, Javascript, PHP, etc. Founder of startup Indomaker.com
mohon pencerahan gan…beberapa hari ini hape saya (android) jika dibuat untuk panggilan telepon muncul tulisan ussd code running, lumayan men(ganggu karena kita tidak bis@ melakukan pangilan lain atau mute mic kita.
trima kasih
Gimana cara nya
di tutorial di atas kan udah dikasih tau caranya mb….? sisi mana yg kurang jelas?
gimana cara mengatasi supaya ketika memanggil kontak tidak ada permintaan ussd seperti saat mengecek pulsa. contohnya saat memanggil nomor 085337xxxxx keluar ussd processing.
no telepon jangan diapit karakter ‘*’ dan ‘#’
Gan gmna caranya ya,,mngatasi mslah saya ini,
Ko mau cek pulsa lama bnget loadingny,,begitu selsai bukany hasil,malah ada tulisa kyak gni,”udenfined additional service.contact customer care”.,
Dan itu untuk semua kartu yg ane pasang di hp ane,,kalau mau cek/sending kode ussd,,mesti kayak gitu terus,,
Mohon pencerahannya ya gan.
Terima kasih.
permisi gan,,sya baru dpt hp dr luar negeri korea..ttpi samai di indonesia tidak buat cek pulsa dll..tetapi signalnya ada..cmn gk bisa cek pulsa 888 dll…kenapa mas??bisa bantu..
cobasearch network dulu mas
sama gan hp saya juga gak dpt cek pulsa, semua trick yg ada di browsing goggle udah di coba tp blom ada hasilnya…
kalo secara script udah seperti di artikel aja mas, mungkin kode ussd untuk cek pulsanya yang kurang tepat
gan kalo untuk invoke hasil ussd nya bagaiamana ya??
text biasa aja
Mohon pencerahannya, diberikan tutorial step by step agar bisa dipelajari dan dipahami bagi yg awam dengan hal seperti ini.
terima kasih.
apakah tutorial di atas kurang bisa dipahami?