我正在使用Nexus 5开发具有低功耗蓝牙功能的应用程序。该应用程序可在Lollipop上使用,现在不能在棉花糖上使用。我在清单和活动的运行时设置ACCESS_COARSE_LOCATION和ACCESS_FINE_LOCATION权限。这是ScanFilters的列表:mScanFilterTest = new ScanFilter.Builder().build();mScanFilter = new ArrayList<ScanFilter>();mScanFilter.add(mScanFilterTest);这些是设置:mScanSettings = new ScanSettings.Builder().setScanMode(ScanSettings.SCAN_MODE_LOW_POWER).setReportDelay(0) .setCallbackType(ScanSettings.CALLBACK_TYPE_ALL_MATCHES).build();这些是我的回调: mBLEScan = new ScanCallback() { @Override public void onScanResult(int callbackType, ScanResult result) { super.onScanResult(callbackType, result); Log.i(TAG, "******************************************"); Log.i(TAG, "The scan result " + result); Log.i(TAG, "------------------------------------------"); } };这是我的电话:mBluetoothLeScanner.startScan(mScanFilter, mScanSettings, mBLEScan);它开始扫描,但未找到任何设备。请帮我!!!!
3 回答
慕无忌1623718
TA贡献1744条经验 获得超4个赞
就像@Jacopo Tosi一样,您必须要求位置权限。您可以在这里阅读操作方法。并且您还必须打开位置。我不知道为什么这样做。但这是我设法使其运作的唯一方法。
至尊宝的传说
TA贡献1789条经验 获得超10个赞
它并没有真正使它变得更好,但是其背后的原因是BLE信标经常被用作一种室内GPS来跟踪用户位置。因此,您必须与用户进行尴尬的交谈才能请求该权限,并保证您不会尝试跟踪它们,尽管他们只是将其授予了心率监视器
- 3 回答
- 0 关注
- 1117 浏览
添加回答
举报
0/150
提交
取消