首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当应用程序转到另一个活动时,从手机到Bluno的蓝牙连接断开

当应用程序转到另一个活动时,从手机到Bluno的蓝牙连接断开
EN

Stack Overflow用户
提问于 2018-02-28 22:15:25
回答 1查看 82关注 0票数 0

我的目标是将我的应用程序连接到一个Bluno模块。我使用并调整了this tutorial中的代码。基本上,我的版本的启动器活动有一个“扫描”按钮,让我扫描并连接到Bluno模块。一旦连接,它将重定向到另一个活动(从某种意义上说,它类似于“主”活动,因为功能在这里,即聊天,联系人,呼叫)。问题是,一旦我成功连接并重定向到另一个活动,蓝牙连接就会断开。我该如何解决这个问题?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-02-28 22:46:11

看看这个库的例子,问题可能是,如果你只是直接复制它,那么当BlunoLibrary被写成你扩展的activity类时,转到不同的活动将会暂停。坦率地说,它有点奇怪--作为一个例子,如果你打算有多个活动,或者由于某种原因不能继承它,那么它对实际使用没有太大帮助,它也直接被设计为不在后台运行。

特别是如果你看一下

代码语言:javascript
复制
public void onPauseProcess() {
        System.out.println("BLUNOActivity onPause");
        scanLeDevice(false);
        mainContext.unregisterReceiver(mGattUpdateReceiver);
        mLeDeviceListAdapter.clear();
        mConnectionState=connectionStateEnum.isToScan;
        onConectionStateChange(mConnectionState);
        mScanDeviceDialog.dismiss();
        if(mBluetoothLeService!=null)
        {
            mBluetoothLeService.disconnect();
            mHandler.postDelayed(mDisonnectingOverTimeRunnable, 10000);

//          mBluetoothLeService.close();
        }
        mSCharacteristic=null;

}

在BlunoLibrary(或onDestroy或onStop)中,您将看到当您切换活动时,它会断开服务连接。您可以不调用它(从mainactivity),但是您需要将旧的活动传递给新的activity对象,或者至少以某种方式通知旧的活动将传入的消息发送到哪里。坦率地说,你最好只是从BlunoLibrary.java上看它实际做了什么(建立蓝牙连接),并基于这些信息创建自己的服务,然后你可以将它变成一个服务,或者以任何你想要的方式,这样它就可以在活动的切换中幸存下来。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49031618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档