示例#1
0
  public void startAdvertising() {
    System.out.println("Start advertising");

    if (ContextCompat.checkSelfPermission(activity, Manifest.permission.BLUETOOTH_ADMIN)
        != PackageManager.PERMISSION_GRANTED) {
      System.out.println(" doesn't have permission");

    } else {
      System.out.println(" has permission");
      advertiser = bluetoothAdapter.getBluetoothLeAdvertiser();
      AdvertiseSettings.Builder settings = new AdvertiseSettings.Builder();
      settings.setConnectable(true);
      settings.setAdvertiseMode(AdvertiseSettings.ADVERTISE_MODE_LOW_LATENCY);
      settings.setTxPowerLevel(AdvertiseSettings.ADVERTISE_TX_POWER_HIGH);
      settings.setTimeout(120000);
      AdvertiseData.Builder data = new AdvertiseData.Builder();
      data.addServiceUuid(new ParcelUuid(UUID.fromString(B4UUID)));
      data.addServiceData(
          new ParcelUuid(UUID.fromString(B4UUID)), "a".getBytes(Charset.forName("UTF-8")));
      data.setIncludeDeviceName(true);
      advertiseCallback = new AdvertiseBack();
      advertiser.startAdvertising(settings.build(), data.build(), advertiseCallback);
      isAdvertising = true;
    }
  }