我正在android studio中构建一个BTchat应用程序项目, 第一个 Activity 设置连接,设备连接后我们将进入下一个 Activity 。我使用了带有 getBTSocket() 和 setBTSocket() 等方法的应用程序类。在第二个 Activity 中,当调用 getBTSocket() 时,我的应用程序关闭/崩溃(无论您如何调用它)。
这是套接字的代码。
public void setBluetoothSocket ( BluetoothSocket socket1 ) {
socket = socket1;
}
public BluetoothSocket getBTSocket() {
return socket;
}
请告诉我我该怎么办。
最佳答案
没有静态字段就无法做到这一点(不好的方式)。
BluetoothSocket
不可序列化,也不可打包以通过 Intent
发送它。
您需要在 Activity 内打开/关闭连接,并且仅使用 fragment 进行导航。当 Activity 调用 onStop()
时 - 关闭连接,重新启动 onResume()
另一种方式是Android服务:https://developer.android.com/reference/android/app/Service
关于java - 你能在android studio中将蓝牙套接字从一个 Activity 转移到另一个 Activity 吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61470715/