From 1afbd8817c081cf9b0cc392dfca66aedb2fb7c9d Mon Sep 17 00:00:00 2001 From: rizky_denianto Date: Wed, 15 Apr 2026 01:32:16 +0700 Subject: [PATCH] Memperbaiki program kirim data --- android/src/main/java/BluclasPlugin.kt | 54 ++++++++++---------------- 1 file changed, 20 insertions(+), 34 deletions(-) diff --git a/android/src/main/java/BluclasPlugin.kt b/android/src/main/java/BluclasPlugin.kt index e36b125..273bd63 100644 --- a/android/src/main/java/BluclasPlugin.kt +++ b/android/src/main/java/BluclasPlugin.kt @@ -33,7 +33,7 @@ class KirimArgs { ] ) class BluclasPlugin(private val activity: Activity) : Plugin(activity) { - private val SPP_UUID: UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB") + private val uuidSpp: UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB") private val adapter: BluetoothAdapter? = this.activity.getSystemService(BluetoothManager::class.java).getAdapter() private var soket: BluetoothSocket? = null @@ -59,55 +59,41 @@ class BluclasPlugin(private val activity: Activity) : Plugin(activity) { invoke.resolve(objekDaftarRes) } - fun menghubungkanKoneksi(invoke: Invoke, alamat: String) { - try { - val perangkat: BluetoothDevice = adapter!!.getRemoteDevice(alamat) - - soket = perangkat.createRfcommSocketToServiceRecord(SPP_UUID) - soket!!.connect() - keluaran = soket!!.outputStream - - } catch (e: Exception) { - invoke.reject("Koneksi dengan perangkat gagal: ${e.message}") - } - - invoke.resolve() + fun menghubungkanKoneksi(alamat: String) { + val perangkat: BluetoothDevice = adapter!!.getRemoteDevice(alamat) + soket = perangkat.createInsecureRfcommSocketToServiceRecord(uuidSpp) + soket!!.connect() + keluaran = soket!!.outputStream } - fun memutusKoneksi(invoke: Invoke) { - try { - keluaran?.close() - keluaran = null - soket?.close() - soket = null - - } catch (e: Exception) { - invoke.reject("Memutus koneksi perangkat gagal") - } - - invoke.resolve() + fun memutusKoneksi() { + keluaran?.close() + keluaran = null + soket?.close() + soket = null } @Command fun kirim(invoke: Invoke) { val args = invoke.parseArgs(KirimArgs::class.java) - menghubungkanKoneksi(invoke, args.alamat ?: "") - if (keluaran == null) { - invoke.reject("Tidak ada perangkat yang terhubung") - return - } - try { + menghubungkanKoneksi(args.alamat ?: "") + + if (keluaran == null) { + throw Exception("Tidak ada perangkat yang terhubung") + } + keluaran!!.write(args.data) keluaran!!.flush() } catch (e: Exception) { - memutusKoneksi(invoke) + memutusKoneksi() invoke.reject("Mengirim data ke perangkat gagal: ${e.message}") + return } - memutusKoneksi(invoke) + memutusKoneksi() invoke.resolve() } } -- 2.52.0