Wal*_*ira 5 android bluetooth react-native react-native-android
我正在使用 react native 模块(https://github.com/rusel1989/react-native-bluetooth-serial)与 Arduino 进行蓝牙通信。
一切正常。但是当我按下“重新加载”或由于启用了实时重新加载而重新加载应用程序时,onDestroy不会调用模块的方法。因此,套接字(和流)没有正确处理。
重新加载完成后,我无法再打开蓝牙插座。它需要我禁用和启用蓝牙,或重新启动应用程序。
当我重新加载我的应用程序时,是否有我可以实现的蚂蚁回调或方法可以正确处理这些套接字?
好的,在本机代码中花费时间后,我找到了答案:
在 iOS 上:
您必须实现一个invalidate在您的RCTBridgeModule实现中调用的方法:
每当上下文被销毁(应用程序被重新加载)时,它就会运行,它看起来像这样:
- (void)invalidate
{
// disconnect bluetooth here
}
Run Code Online (Sandbox Code Playgroud)
这是我如何在 iOS 上执行此操作的示例。
在安卓上:
你必须onCatalystInstanceDestroy在你的内部实现这个方法ReactContextBaseJavaModule,它看起来像这样:
@Override
public void onCatalystInstanceDestroy() {
// disconnect bluetooth here
}
Run Code Online (Sandbox Code Playgroud)
这是我如何在 Android 上执行此操作的示例。
| 归档时间: |
|
| 查看次数: |
2011 次 |
| 最近记录: |