【问题标题】:Can you transfer a Bluetooth socket from one activity to another in android studio [duplicate]你能在android studio中将蓝牙套接字从一个活动转移到另一个活动吗?
【发布时间】:2020-04-28 10:33:58
【问题描述】:

我正在android studio中构建一个BTchat应用项目, 第一个活动建立连接,连接设备后,我们进入下一个活动。我使用了一个应用程序类,其中包含 getBTSocket() 和 setBTSocket() 等方法。在调用 getBTSocket() 的第二个活动中,我的应用程序关闭/崩溃(无论您如何称呼它)。

这里是socket的代码。

public void setBluetoothSocket ( BluetoothSocket socket1 ) {
    socket = socket1;
}

public BluetoothSocket getBTSocket()  {
    return socket;
}

请告诉我该怎么做。

【问题讨论】:

    标签: java android android-studio android-bluetooth


    【解决方案1】:

    如果没有静态字段(不好的方式),您将无法做到这一点。

    BluetoothSocket 不可序列化,不可通过Intent 发送。

    您需要在活动中打开/关闭连接,并且仅使用片段进行导航。当活动调用onStop() - 关闭连接,重新启动它onResume()

    另一种方式是Android Service:https://developer.android.com/reference/android/app/Service

    【讨论】:

    • 我应该如何进行服务,我的意思是我在代码中使用了一个 serverThread(用于侦听)和一个 clientThread(用于连接到选定的设备)。我应该如何使用服务
    猜你喜欢
    • 1970-01-01
    • 2013-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-18
    • 2012-07-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多