我的Android应用程序没有扫描BLE设备

时间:2015-01-23 10:37:02

标签: android bluetooth bluetooth-lowenergy

我已经制作了一个简单的Android应用程序来扫描相邻的BLE启用的Android设备,并在应用程序上显示他们的设备地址和名称。该应用程序似乎运行正常,但BLE设备未被扫描。我使用的BLE设备是MOTO G和HTC ONE E8。请提供合适的解决方案。我在下面提供了回调方法实现。

private BluetoothAdapter.LeScanCallback mLeScanCallback = 
                         new BluetoothAdapter.LeScanCallback() {

    @Override
    public void onLeScan(final BluetoothDevice device, int rssi, byte[] scanRecord) {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                mLeDeviceListAdapter.addDevice(device);
                mLeDeviceListAdapter.notifyDataSetChanged();
            }
        });
    }
};

2 个答案:

答案 0 :(得分:0)

远景,但是,您是否已将以下内容添加到mainfest.xml

<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>

要检查您的设备是否支持BLE,您可以添加以下内容:

<uses-feature android:name="android.hardware.bluetooth_le" android:required="true"/>
  

但是,如果您希望将应用程序提供给不支持BLE的设备,您仍应在应用程序的清单中包含此元素,但必须设置required =“false”。然后在运行时,您可以使用PackageManager.hasSystemFeature():

来确定BLE可用性

查看android docs here

答案 1 :(得分:0)

Android仅支持中心角色,而另一个中心无法发现中心。