首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何仅显示信标的时间戳、rssi和mac-address

如何仅显示信标的时间戳、rssi和mac-address
EN

Stack Overflow用户
提问于 2016-03-17 16:49:36
回答 1查看 243关注 0票数 0
代码语言:javascript
复制
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);
            }
        };
    }
};

我只想要rssi,时间戳和mac-address,但我认为这段代码给了我一些其他的字符串,也像制造商的详细信息,广告标志等。

EN

回答 1

Stack Overflow用户

发布于 2016-03-17 17:16:44

尝试此BLE扫描侦听器:

代码语言:javascript
复制
 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);
                    }
                });
            }
        };

我希望这能行得通。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36055533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档