Bluetooth in react-native

后端 未结 3 385
走了就别回头了
走了就别回头了 2020-12-12 17:15

My project requires to receive&send bluetooth signal, and I am pretty new to react-native so which component I can use in react-native for bluetooth related functionalit

3条回答
  •  一个人的身影
    2020-12-12 17:41

    I created a cross platform Bluetooth/ WIFI framework that allows you to browse and advertise in a manner similar to Apple's Multipeer Connectivity and Google's Nearby Connections. It works between Android and iOS so you can send messages from an iOS device to an Android device and vice versa. Here's a sample of the library which can be found at https://github.com/alexkendall/RCTUnderdark

    import {
      NativeModules,
      NativeAppEventEmitter,
    } from 'react-native';
    import React from 'react';
    
    var NativeManager = NativeModules.NetworkManager
    
    module.exports = {
      // kind can be one of "WIFI", "BT", and "WIFI-BT"
      browse(kind) {
        NativeManager.browse(kind)
      },
      // kind can be one of "WIFI", "BT", and "WIFI-BT"
      advertise(kind) {
        NativeManager.advertise(kind)
      },
      stopAdvertising() {
        NativeManager.stopAdvertising()
      },
      stopBrowsing() {
        NativeManager.stopBrowsing()
      },
      disconnectFromPeer(peerId) {
        NativeManager.disconnectFromPeer(peerId)
      },
      inviteUser(peerId) {
        NativeManager.inviteUser(peerId)
      },
      sendMessage(message, peerId) {
        NativeManager.sendMessage(message, peerId)
      },
      acceptInvitation(peerId) {
        NativeManager.acceptInvitation(peerId)
      },
      getNearbyPeers(callback) {
        NativeManager.getNearbyPeers((peers) => {
          callback(peers)
        })
      },
      getConnectedPeers(callback) {
        NativeManager.getConnectedPeers((peers) => {
          callback(peers)
        })
      },
      /*listener callbacks
      peer contains .id (string), type(string), connected(bool), message(string), display name(string)
      */
      addPeerDetectedListener(callback) {
        NativeAppEventEmitter.addListener(
        'detectedUser',
        (peer) =>  callback(peer)
        );
      },
      addPeerLostListener(callback) {
        NativeAppEventEmitter.addListener(
        'lostUser',
        (peer) => callback(peer)
        );
      },
      addReceivedMessageListener(callback) {
        NativeAppEventEmitter.addListener(
          'messageReceived',
          (peer) => callback(peer)
        );
      },
      addInviteListener(callback) {
        NativeAppEventEmitter.addListener(
          'receivedInvitation',
          (peer) => callback(peer)
        );
      },
      addConnectedListener(callback) {
        NativeAppEventEmitter.addListener(
          'connectedToUser',
          (peer) => callback(peer)
        );
      },
    }
    

提交回复
热议问题