@Override
        public void onLeScan(
            final BluetoothDevice device, final int rssi, final byte[] scanRecord) {

          //			if (true) {
          if (device.getName().contains("SensorTag") || device.getAddress().contains("D0")) {
            if (onScanListener != null) {
              onScanListener.onScan(device, rssi, scanRecord);
            }

            System.out.println("scan info:");
            System.out.println("rssi=" + rssi);
            System.out.println("ScanRecord:");
            for (byte b : scanRecord) System.out.printf("%02X ", b);
            System.out.println("");

            ((Activity) context)
                .runOnUiThread(
                    new Runnable() {
                      @Override
                      public void run() {
                        Message msg = new Message();
                        BluetoothScanInfo info = new BluetoothScanInfo();
                        info.device = device;
                        info.rssi = rssi;
                        info.scanRecord = scanRecord;
                        msg.obj = info;
                        mHandler.sendMessage(msg);
                      }
                    });
          }
        }
    private void _handleMessage(Message msg) {
      Bundle b;
      boolean aborted;

      switch (msg.what) {
        case TYPE_ON_SCAN:
          b = (Bundle) msg.obj;
          int tunedFrequency = b.getInt("tunedFrequency");
          int signalStrength = b.getInt("signalStrength");
          int scanDirection = b.getInt("scanDirection");
          aborted = b.getBoolean("aborted");
          mListener.onScan(tunedFrequency, signalStrength, scanDirection, aborted);
          break;
        case TYPE_ON_FULLSCAN:
          b = (Bundle) msg.obj;
          int[] frequency = b.getIntArray("frequency");
          int[] signalStrengths = b.getIntArray("signalStrength");
          aborted = b.getBoolean("aborted");
          mListener.onFullScan(frequency, signalStrengths, aborted);
          break;
      }
    }
Example #3
0
 @Override
 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
   super.onActivityResult(requestCode, resultCode, data);
   if (resultCode == RESULT_OK) {
     IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
     if (result == null || mOnScanListener == null) {
       return;
     }
     String isbn = result.getContents();
     Log.d(TAG, "ISBN = " + isbn);
     mOnScanListener.onScan(isbn);
   } else {
     Toast.makeText(this, "Reading ISBN cancelled. Try again!", Toast.LENGTH_SHORT).show();
   }
 }