我想获取连接到手机的另一台设备的蓝牙信号强度,
如何获得蓝牙信号强度?
我试图在Google上进行大量搜索,但未找到任何答案。
有人知道我该如何实施吗?
这是myActivity:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
registerReceiver(receiver, new IntentFilter(BluetoothDevice.ACTION_FOUND));
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
private final BroadcastReceiver receiver = new BroadcastReceiver(){
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if(BluetoothDevice.ACTION_FOUND.equals(action)) {
int rssi = intent.getShortExtra(BluetoothDevice.EXTRA_RSSI,Short.MIN_VALUE);
Toast.makeText(getApplicationContext()," RSSI: " + rssi + "dBm", Toast.LENGTH_SHORT).show();
}
}
};
}
我的清单文件中也有蓝牙许可。
要获取信号,您可以检查蓝牙RSSI,可以阅读已连接设备的RSSI,或执行蓝牙发现以检查附近任何设备的RSSI。
基本上,蓝牙发现是向范围内的所有电台广播以进行响应。随着每个设备的响应,Android会触发ACTION_FOUND意图。在此意图内,您可以获取Extra
EXTRA_RSSI以获取RSSI。
请注意,并非所有的蓝牙硬件都支持RSSI。
也相关:AndroidRC办公时间关于Android蓝牙RSSI的问题 此处为示例
private final BroadcastReceiver receiver = new BroadcastReceiver(){
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if(BluetoothDevice.ACTION_FOUND.equals(action)) {
int rssi = intent.getShortExtra(BluetoothDevice.EXTRA_RSSI,Short.MIN_VALUE);
Toast.makeText(getApplicationContext()," RSSI: " + rssi + "dBm", Toast.LENGTH_SHORT).show();
}
}
};
问题内容: 您好,有什么方法可以使Linux中的蓝牙设备获得接近的信号强度吗?或任何适用于nodejs,php或mono的好的库(我确实知道一些c ++或python,但宁愿不使用它们)如果工具不存在,但编写起来相当容易 谢谢 问题答案: 在Linux上,可以通过hcitool命令执行此操作。但是,必须连接才能获得设备的rssi。如果要从命令行实现此目的,请尝试: 如果要查看实现此目标的实际C代码
我想知道android蓝牙通信的通信方式是什么。我的代码基本上遵循这里的开发者指南:http://developer.android.com/guide/topics/connectivity/bluetooth.html如果我按照本指南从设备中读取/写入数据?通信类型是什么?我在网上搜索了一下,它看起来像是串口通信,RS 232。这是正确的吗? 非常感谢。
从蓝牙android API获取android辅助蓝牙gatt服务。 下面是我们获取ble服务的代码: 甚至尝试以独占方式获取辅助服务,但它返回空对象: 有人可以指出任何指针如何在Android中搜索辅助服务。
序言 我正在使用Swift 2开发Xcode 7.0.1 是我试图了解如何检索这些信息的时间(更新、天数) 我已经看到了一个框架,CoreBooth,可能可以帮助我。(更新,绝对不是!!) 任何想法?Objecte-c/swwift/c/c...不管是什么...都是一样的。 我已经在这个答案中测试了代码,但打印了: 关于这一点,我已经阅读了官方文件: 在iOS 7及更高版本中,如果您询问iOS设备
jd.closeBluetoothAdapter(Object object) 关闭蓝牙模块。调用该方法将断开所有已建立的连接并释放系统资源。建议在使用蓝牙流程后,与 jd.openBluetoothAdapter 成对调用。 参数 Object object 属性 类型 默认值 必填 说明 success function 否 接口调用成功的回调函数 fail function 否 接口调用失败
蓝牙模块能够使你的作品与 Makeblock 蓝牙适配器 或支持蓝牙4.0的设备建立无线连接,使你能够无线地控制你的作品。 蓝牙的连接设置参看:通过蓝牙连接设备 蓝牙的灯效及含义 闪烁:蓝牙未被连接 常亮:蓝牙已连接,工作正常 灭:断电或故障 参数 尺寸:24×24mm 推荐使用距离:10m以内 蓝牙版本:BT4.0 频带范围:2402~2480MHz 天线增益:1.5dBi 能耗等级:≤4dBm