怎么用android获取bluetooth的信号强度

 我来答
小傻

2016-05-21 · 知道合伙人软件行家
小傻
知道合伙人软件行家
采纳数:11567 获赞数:31134
已经做过两个上架的app和两个网页项目.

向TA提问 私信TA
展开全部

android获取蓝牙bluetooth的信号强度步骤如下:

  1. 在oncreate方法里面增加 注册扫描广播 
    public void onCreate(Bundle savedInstanceState) { 
                      
                        // 注册开始发现广播。 
                                 IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_ACL_CONNECTED); 
                                 this.registerReceiver(mReceiver, filter); 
                                   
                } 
    2.新建BroadcastReceiver广播对象,并实现里面的onreceive方法,在onreceive得到rssi(信号强度)。 
    private final BroadcastReceiver mReceiver = new BroadcastReceiver() { 
                    @Override 
                    public void onReceive(Context context, Intent intent) { 
                            String action = intent.getAction(); 
      
                            //当设备开始扫描时。 
                            if (BluetoothDevice.ACTION_FOUND.equals(action)) { 
                                    //从Intent得到blueDevice对象 
                                    BluetoothDevice device = intent 
                                                    .getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); 
                                      
                                    if (device.getBondState() != BluetoothDevice.BOND_BONDED) { 
      
                                            //信号强度。 
                                            short rssi = intent.getExtras().getShort( 
                                                            BluetoothDevice.EXTRA_RSSI); 
                                                      
                                    } 
                                      
                            }  
                    } 
            }; 

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
晓网科技
2024-10-17 广告
ZigBee作为一项新型的无线通信技术,其具有传统网络通信技术所不可比拟的优势,既能够实现近距离操作,又可降低能源的消耗。又如,相较于蓝牙等无线通信技术,ZigBee无线通信技术可有效降低使用成本, 即便数据处理的速率并不高,然而,值得肯定... 点击进入详情页
本回答由晓网科技提供
好程序员
2016-05-11 · HTML5前端培训/大数据培训/Java
好程序员
好程序员是IT高端课程培训基地,从平凡到卓越,为梦想而拼搏。
向TA提问
展开全部
要拿到蓝牙信号指示值 rssi 分为两个步骤。
1.在oncreate方法里面增加 注册扫描广播
public void onCreate(Bundle savedInstanceState) {

// 注册开始发现广播。
IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_ACL_CONNECTED);
this.registerReceiver(mReceiver, filter);

}
2.新建BroadcastReceiver广播对象,并实现里面的onreceive方法,在onreceive得到rssi(信号强度)。
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();

//当设备开始扫描时。
if (BluetoothDevice.ACTION_FOUND.equals(action)) {
//从Intent得到blueDevice对象
BluetoothDevice device = intent
.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);

if (device.getBondState() != BluetoothDevice.BOND_BONDED) {

//信号强度。
short rssi = intent.getExtras().getShort(
BluetoothDevice.EXTRA_RSSI);

}

}
}
};
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式