Android 如何仅显示信标的时间戳、rssi和mac地址 private final ThreadLocal mScanCallback=new ThreadLocal(){ @凌驾 受保护的ScanCallback initialValue(){ 返回新的ScanCallback(){ @凌驾 公共void onScanResult(int callbackType、ScanResult){ ScanRecord btScanRecord=result.getScanRecord(); //Log.i(标记“newjohoksdfjkhdfsj”);//未调用 如果(btScanRecord!=null){ } Connect(); //Log.i(标记“newjohoksdfjkhdfsj”);//未调用 } @凌驾 public void onBatchScanResults(列出结果){ 用于(扫描结果sr:结果){ Log.i(“扫描结果”,sr.toString()); //Log.i(TAG,sr.toString());//未调用 } } @凌驾 公共无效OnScan失败(内部错误代码){ Log.e(“扫描失败”,“错误代码:”+错误代码); } }; } };

Android 如何仅显示信标的时间戳、rssi和mac地址 private final ThreadLocal mScanCallback=new ThreadLocal(){ @凌驾 受保护的ScanCallback initialValue(){ 返回新的ScanCallback(){ @凌驾 公共void onScanResult(int callbackType、ScanResult){ ScanRecord btScanRecord=result.getScanRecord(); //Log.i(标记“newjohoksdfjkhdfsj”);//未调用 如果(btScanRecord!=null){ } Connect(); //Log.i(标记“newjohoksdfjkhdfsj”);//未调用 } @凌驾 public void onBatchScanResults(列出结果){ 用于(扫描结果sr:结果){ Log.i(“扫描结果”,sr.toString()); //Log.i(TAG,sr.toString());//未调用 } } @凌驾 公共无效OnScan失败(内部错误代码){ Log.e(“扫描失败”,“错误代码:”+错误代码); } }; } };,android,timestamp,Android,Timestamp,我只需要rssi、时间戳和mac地址,但我想这段代码会给我一些其他字符串,如制造商详细信息、广告标志等。试试这个BLE扫描侦听器: private final ThreadLocal<ScanCallback> mScanCallback = new ThreadLocal<ScanCallback>() { @Override protected ScanCallback initialValue() { return new Scan

我只需要rssi、时间戳和mac地址,但我想这段代码会给我一些其他字符串,如制造商详细信息、广告标志等。

试试这个BLE扫描侦听器:

private final ThreadLocal<ScanCallback> mScanCallback = new ThreadLocal<ScanCallback>() {

    @Override
    protected ScanCallback initialValue() {
        return new ScanCallback() {
            @Override
            public void onScanResult(int callbackType, ScanResult result) {
                ScanRecord btScanRecord = result.getScanRecord();
                //Log.i(TAG,"new johoksdfjkhdfsj");//Not Called
                if (btScanRecord != null) {
                }
                Connect();
                //Log.i(TAG,"new johoksdfjkhdfsj");//Not Called
            }

            @Override
            public void onBatchScanResults(List<ScanResult> results) {
                for (ScanResult sr : results) {
                    Log.i("ScanResult-Results", sr.toString());
                    //Log.i(TAG, sr.toString());//not called
                }
            }

            @Override
            public void onScanFailed(int errorCode) {
                Log.e("Scan Failed", "Error Code: " + errorCode);
            }
        };
    }
};

我希望这能起作用。

我添加了一些错误,但是显示了一些错误。你能告诉我如何删除这个错误吗?因为我是安卓系统的新成员,所以我不知道。提前谢谢。BluetoothAdapter在此包中不是公共的,无法从包外部访问。这是一个错误,非常感谢,但它提供了rssi和mac add,但没有提供时间戳,因此您可以将任何想法更改为private to public。i、 e.私人蓝牙适配器。到公共BluetoothAdapter。检查已编辑的答案。让我知道这是否正确。
 public BluetoothAdapter.LeScanCallback mLeScanCallback =
                new BluetoothAdapter.LeScanCallback() {

            @Override
            public void onLeScan(final BluetoothDevice device, final int rssi, byte[] scanRecord) {
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        // also get address using
                          // device.getAddress();
                           addDevice(device,rssi);  

                          String currentDateTimeString = DateFormat.getTimeInstance().format(new Date());
                         Log.e("In h:m:s"," "+currentDateTimeString);

                        Long tsLong = System.currentTimeMillis()/1000;
                        String ts = tsLong.toString();
                        Log.e("In miliseconds"," "+ts);
                    }
                });
            }
        };