繁体   English   中英

保持连接状态?

[英]Keep connection alive?

在蓝牙聊天示例中,我想添加另一个活动。 建立连接时以及加载新活动时,如何仍保持连接活动?

加载新活动后,将调用onStop方法,并使用之前建立的连接来固定发送消息。 我在新活动中尝试了以下代码:

    BluetoothChat bt = new BluetoothChat();        
    public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.special_keys);
    bt.sendMessage("hello");
    }

我设法发送了“ hello”,但此后它强制关闭了。必须有一种有效的方法来处理这种情况。 请帮忙。

提前致谢。

我最近创建了一个Android应用程序,可通过蓝牙与硬件设备进行通信。 在我的应用程序中,我有许多通过连接进行通信的Activity类,并且该应用程序还从后台在连接中执行连续的数据记录。 因此,希望我可以在这里提供帮助。 (这是我第一次尝试在StackOverflow上发布答案,所以请放轻松。)

在我的应用程序中,我首先将所有蓝牙代码放入一个单独的专用类文件(我称为BluetoothIF.java)中。 此类中的构造函数执行基本的适配器初始化,并为诸如建立连接等任务提供其他方法。它包含Runnable类,用于建立连接,然后通过已建立的连接进行发送/接收。 (本质上是基于BluetoothChat示例。)

我不需要通过蓝牙连接进行大量的通信,而且我还需要在后台设置一个服务来连续监视和记录来自连接的数据,如前所述。 因此,我在服务中实例化了BluetoothIF。 在我的应用程序中,任何需要通过现有蓝牙连接交换数据的Activity类都通过与服务交换消息来进行交换。

另外,如果您不需要使用服务,则也许应该使用单例模型或通过扩展Application类在Activity中共享Bluetooth对象实例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM