🚀 Android App Intent Tester
Android Intent Tester adalah alat pengembang (developer tool) yang dirancang untuk menguji integrasi antar-aplikasi Android melalui Explicit Intent. Aplikasi ini memungkinkan kamu untuk memanggil Activity dari aplikasi lain, mengirim data dinamis dalam format JSON, dan menerima kembali hasil transaksi (callback).
Sangat berguna untuk pengembang aplikasi POS (Point of Sale) yang perlu menguji integrasi dengan aplikasi pembayaran EDC tanpa harus mengubah kode secara berulang kali.
✨ Fitur Utama Targeted Intent: Memanggil Package dan Class secara spesifik.
Dynamic JSON Extras: Mengonversi input JSON menjadi Intent Extras secara otomatis (mendukung tipe data String, Int, dan Boolean).
Modern API: Menggunakan ActivityResult Launcher API untuk penanganan hasil yang lebih aman dan lifecycle-aware.
Real-time Response: Menampilkan hasil kembalian (onActivityResult) dalam format JSON di area log terminal.
Package Visibility: Sudah dikonfigurasi untuk menangani batasan visibilitas paket pada Android 11+.
📸 Tampilan Aplikasi 🚀 Cara Menggunakan
-
Persiapan pada Aplikasi Target (EDC) Pastikan Activity yang ingin dipanggil di aplikasi target memiliki atribut android:exported="true" di dalam AndroidManifest.xml. XML
<activity android:name="com.pax.pay.launch.OtherActivity" android:exported="true" /> -
Konfigurasi pada Intent Tester Target Package Name: Masukkan Application ID aplikasi target (Contoh: com.aipos_cashUp.edc.ui1). Target Class Name: Masukkan nama kelas lengkap dengan package-nya (Contoh: com.pax.pay.launch.OtherActivity). PUT key-value JSON: Masukkan parameter yang dibutuhkan oleh aplikasi target dalam format JSON murni. Contoh: {"menu":"sale", "amount":"70000"}
-
Eksekusi Klik tombol LAUNCH TRANSACTION. Aplikasi Intent Tester akan membuka aplikasi target. Setelah proses di aplikasi target selesai dan melakukan setResult(), hasil akan muncul di bagian Response Result.
🛠️ Detail Teknis (Logika Utama) Aplikasi ini melakukan iterasi dinamis pada JSON input untuk dimasukkan ke dalam Intent:
Java
JSONObject jsonObject = new JSONObject(jsonString);
Iterator keys = jsonObject.keys();
while (keys.hasNext()) {
String key = keys.next();
Object value = jsonObject.get(key);
// Auto-mapping tipe data
if (value instanceof Integer) intent.putExtra(key, (Integer) value);
else if (value instanceof Boolean) intent.putExtra(key, (Boolean) value);
else intent.putExtra(key, value.toString());
}
📝 Lisensi Proyek ini dilisensikan di bawah MIT License.
