android - 保持连接有效?

标签 android android-activity connection

在蓝牙聊天示例中,我想添加另一个 Activity 。当建立连接并加载新 Activity 时,我如何保持连接处于 Activity 状态?

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

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

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

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

提前致谢。

最佳答案

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

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

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

或者,如果您不需要使用服务,也许您应该使用单例模型或扩展应用程序类来跨 Activity 共享蓝牙对象实例。

关于android - 保持连接有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5699155/

相关文章:

Android 在广播接收器中捕获自定义架构链接

android.content.ActivityNotFoundException :

android - Android,每种 View 模式的 Activity 性?还是在较少的Activity类中切换语句?

Python套接字发送问题

ios - 在 __connection_block_invoke_2 : Connection interrupted 中获取错误

android - 如何在 gradle 中获取当前选择的构建变体?

android - 从 FragmentActivity 中的对话框更新 fragment 中的 ListView(使用 ViewPager)

android - 验证点是否被圈出的算法

Android:如何通知其他 Activity 完成的 Activity ()

java - NoClassDefFoundError 同时使用 Simple Logging Facade for Java,即使使用 slf4j-api.jar