final String tagUUID = "01122334-4556-6778-899a-abbccddeeff0";//does not workScanFilter filter = new ScanFilter.Builder().setServiceUuID(new ParcelUuID(UUID.fromString(tagUUID))).build();//worksScanFilter filter = new ScanFilter.Builder().setDeviceAddress(tagMAC).build();解决方法 我是上面提到的博客文章的作者.以下是解决AndroID 21问题的方法.
// Empty databyte[] manData = new byte[]{0,0};// Data Maskbyte[] mask = new byte[]{0,1,0};// copy UUID into data array and remove all "-"System.arraycopy(hexStringToByteArray("YOUR_UUID_TO_FILTER".replace("-","")),manData,2,16);// Add data array to filtersScanFilter filter = new ScanFilter.Builder().setManufacturerData(76,mask).build());public static byte[] hexStringToByteArray(String s) { int len = s.length(); byte[] data = new byte[len / 2]; for (int i = 0; i < len; i += 2) { data[i / 2] = (byte) ((Character.digit(s.charat(i),16) << 4) + Character.digit(s.charat(i+1),16)); } return data;}
这里的问题是你可以添加UUID过滤但不完全直截了当
总结以上是内存溢出为你收集整理的android – 蓝牙LE扫描过滤器无法正常工作全部内容,希望文章能够帮你解决android – 蓝牙LE扫描过滤器无法正常工作所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)