Я должен перенести несколько строк в Arduino. Просто проходи, ничего не бери.
Это мой код. Я работаю с Android и Kotlin в первый раз.
class Validation : AppCompatActivity() {
lateinit var mmOutputStream: OutputStream
lateinit var mmSocket: BluetoothSocket
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_validation)
resolve_Btn.setOnClickListener {bluetoothAdd() }
}
@SuppressLint("HardwareIds")
private fun bluetoothAdd() {
val mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter()
if (mBluetoothAdapter == null) {
// Device does not support Bluetooth
Log.e("Bluetooth ", "not found")
}
if (mBluetoothAdapter!!.isEnabled) {
val pairedDevices = mBluetoothAdapter.bondedDevices
// If there are paired devices
if (pairedDevices.size > 0) {
// Loop through paired devices
for (device in pairedDevices) {
mmSocket= device.createRfcommSocketToServiceRecord(
UUID.fromString("00000000-0000-1000-8000-00805F9B34FB"))
mmSocket.connect()
mmOutputStream = mmSocket.outputStream
val message = "aaa"
val msgBuffer = message.toByteArray(Charset.defaultCharset())
mmOutputStream.write(msgBuffer)
Log.e("Mac Addressess", "are: " + mBluetoothAdapter.getRemoteDevice(device.address))
}
}
}
}
}
Теперь, когда я добавил mmSocket !!. Connect (), я ловлю это
Вызывается: java.lang.reflect.InvocationTargetException
в java.lang.reflect.Method.invoke (родной метод)
на com.android.internal.os.Zygote $ MethodAndArgsCaller.run (Zygote.java:245)
на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:921)
Вызвано: java.io.IOException: чтение не удалось, сокет может быть закрыт или истекло время ожидания, чтение ret: -1
на android.bluetooth.BluetoothSocket.readAll (BluetoothSocket.java:706)
на android.bluetooth.BluetoothSocket.readInt (BluetoothSocket.java:718)
на android.bluetooth.BluetoothSocket.connect (BluetoothSocket.java:384)
на com.example.nikita.vas.Validation.bluetoothAdd (Validation.kt: 52)
на com.example.nikita.vas.Validation.access $ bluetoothAdd (Validation.kt: 21)
на com.example.nikita.vas.Validation $ onCreate $ 1.onClick (Validation.kt: 30)
на android.view.View.performClick (View.java:6291)
на android.view.View $ PerformClick.run (View.java:24931)
на android.os.Handler.handleCallback (Handler.java:808)
на android.os.Handler.dispatchMessage (Handler.java:101)
на android.os.Looper.loop (Looper.java:166)