我正在尝试使用RxAndroidBle lib(https://github.com/Polidea/RxAndroidBle)。我希望应用程序启动并扫描BLE设备。我想在LogCat中打印找到的设备。我怎么能这样做?
function addImage() {
extent = [-13602803.9769, 4920816.12423, -13599949.5192, 4923458.74552]; // [left, bottom, right, top]
var projection = new ol.proj.Projection({
code: 'xkcd-image',
units: 'pixels',
extent: extent
});
var StaticImage = new ol.layer.Image({
source: new ol.source.ImageStatic({
attributions: 'yada yada',
url: /robs/gis_data/LiDAR Elevations2.png',
projection: projection,
imageExtent: extent
})
});
map.addLayer(StaticImage);
map.getView().fit(extent, map.getSize());
}
答案 0 :(得分:1)
来自http://polidea.github.io/RxAndroidBle/。
Subscription scanSubscription = rxBleClient.scanBleDevices().subscribe(
rxBleScanResult -> {
// Process scan result here.
Log.e("MainActivity","FOUND :"+ rxBleScanResult.getBleDevice().getName());
},
throwable -> {
// Handle an error here.
}
);
// When done, just unsubscribe.
scanSubscription.unsubscribe();
编辑:
我注意到,这打破了扫描。甚至可以比较BleScanResult.getBleDevice().getName().equals("BleName")
打破扫描。它只返回3或5个设备,然后没有其他任何东西。
编辑2: 我将离开上一个编辑。有人可能会遇到同样的问题。某些手机(LG G4 Android 6)对某些蓝牙设备返回null。但其他一些(三星J5 Android 6)不返回空值。这就是让我在不同的地方寻找bug的原因。但它很简单,只需添加
if(BleScanResult.getBleDevice().getName()!=null)
现在它不再破坏扫描。
答案 1 :(得分:0)
在科特林,您可以这样做:
Customer.findOrCreate({
where: {
email: req.body.email,
},
// other datas needs to inserted
defaults: {
name: req.body.name,
username: req.body.username,
},
}).spread((data, created) => {
if (created) {
// your logics
} else {
res.status(400).send(`${req.body.email} already exists.`);
}
});