gpt4 book ai didi

android - Kotlin如何初始化BluetoothDevice

转载 作者:行者123 更新时间:2023-12-02 12:59:11 25 4
gpt4 key购买 nike

我想在项目中使用蓝牙打印机,但出现此错误

  lateinit property mmDevice has been not initialized

这是我的代码
lateinit var device:String
lateinit var mBluetoothAdapter: BluetoothAdapter
lateinit var mmSocket: BluetoothSocket
lateinit var mmDevice: BluetoothDevice

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_penjualan_cetak)

device = Function().getShared("printer","",this)

try {
findBT()
} catch (e: Exception) {

}
}

fun findBT(){
try{
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter()

val paireddevice = mBluetoothAdapter.bondedDevices

if(paireddevice.size > 0){
ePrinter.setText("Printer Belum Dipilih")
for (device:BluetoothDevice in paireddevice) {
if (device.name == this.device) {
// this is the error come from
mmDevice = device
break
}
}
}
}catch (e:Exception){
e.printStackTrace()
}
}

如何在koltin中初始化蓝牙设备?我尝试了一些解决方案,但没有用

最佳答案

我认为,您没有发布所有代码,而是将我们指向错误发生的错误行。仅当您尝试访问未初始化的lateinit属性时,才会发生此错误。我可以想象,您的findBT方法找不到任何可挂载的设备,因此您的mmDevice没有初始化。

仅当您100%确定该属性将在首次使用之前初始化时,才应使用lateinit。搜索BT设备-并非如此。因此,我建议您更改该行:

lateinit var mmDevice: BluetoothDevice

到那条线:
var mmDevice: BluetoothDevice? = null

并在代码中对其使用null检查或安全调用。

关于android - Kotlin如何初始化BluetoothDevice,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51699668/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com