草庐IT

bluetooth-gatt

全部标签

android - onServicesDiscovered(BluetoothGatt gatt, int status) 永远不会被调用

我有一个从IntentService调用的BluetoothLeService。BLEService在连接之前工作正常。与iBeacon建立连接后,调用;publicvoidonConnectionStateChange(BluetoothGattgatt,intstatus,intnewState){StringintentAction;if(newState==BluetoothProfile.STATE_CONNECTED){intentAction=ACTION_GATT_CONNECTED;mConnectionState=STATE_CONNECTED;broadcastU

android - Android 上的蓝牙 : startDiscovery doesn't work and I have bluetooth enabled

我在使用startDiscovery()时遇到问题。这是问题所在,我已经像这样向我的BroadcastReceiver注册了以下Intents:IntentFilterfilterFound=newIntentFilter(BluetoothDevice.ACTION_FOUND);IntentFilterfilterStart=newIntentFilter(BluetoothAdapter.ACTION_DISCOVERY_STARTED);IntentFilterfilterStop=newIntentFilter(BluetoothAdapter.ACTION_DISCOVER

java - Android Bluetooth_admin 权限错误

关于Android蓝牙发现。从list权限错误中获取此错误。但是,我发现发布的唯一错误是他们忘记将许可放在应用程序之外。然而,这里不是这种情况。该程序在运行JellyBean4.1的GalaxyS2上进行了测试。错误如下:03-1913:08:03.933:W/dalvikvm(12616):threadid=1:threadexitingwithuncaughtexception(group=0x413082a0)03-1913:08:03.938:E/AndroidRuntime(12616):FATALEXCEPTION:main03-1913:08:03.938:E/Andro

android - 在 Android 上禁用 "Bluetooth Permission Request"确认 - 使用 ACTION_REQUEST_DISCOVERABLE

我正在尝试将我的Android手机作为蓝牙服务器广播,为此,我首先想让Android“可发现”。我正在使用ACTION_REQUEST_DISCOVERABLE这样做,如下所示:http://developer.android.com/guide/topics/wireless/bluetooth.html#EnablingDiscoverabilitytestIntent=newIntent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);startActivity(testIntent);不幸的是,这还会在手机上弹出“蓝牙权限请求”对话框

android - Google Play Services如何弹出Enable Bluetooth提示?

我正在开发的应用程序同时使用位置和BLE,如果位置或蓝牙被禁用,我必须要求用户启用它们。最新的GooglePlay服务提供了一种使用LocationSettingsRequest来执行此操作的标准方法,它会检查要求并在需要更改设置时引发标准弹出窗口。它就像单独定位的魅力一样,但是一旦我将SetNeedBle(true)添加到LocationSettingsRequest,我就会得到一个状态SETTINGS_CHANGE_UNAVAILABLE。我唯一的猜测是我需要将AddApi(FitnessClass.BLE_API)调用添加到GoogleApiClientBuilder因为它可能对

Android Bluetooth LE - 读取 float 特性

我正在尝试读取已连接的低功耗蓝牙设备(Genuino101)的浮点特性。出于测试目的,设备提供了一个硬编码值为“55.3”的FloatCharacteristic。虽然我能够接收到某种程度上类似于float的字符串,但我无法读取实际的浮点值。下面是处理字符串的代码fragment://Forallotherprofiles,writesthedataformattedinHEX.finalbyte[]data=characteristic.getValue();if(data!=null&&data.length>0){finalStringBuilderstringBuilder=n

android - samsung ble api 无法从多个 GATT 特性中获取通知

我正在三星ACE3上开发一个应用程序来连接低功耗蓝牙设备。由于三星不希望ACE3升级到Android4.3,我需要使用三星bleapi。目前,连接、读取数据、发送数据和从一个特征获取通知都可以。但是,当我为多个特征启用通知时,只有第一个启用的特征能够收到通知。有人有同样的问题吗?感谢您的帮助!以下代码是启用连接通知if(mBluetoothGatt!=null&&device!=null){BluetoothGattServicepucService=mBluetoothGatt.getService(device,PROFILE_UART_CONTROL_SERVICE);if(pu

android - 蓝牙 GATT onConnectionState Change 不适用于 Lollipop

我目前有一种方法可以写入BLE设备以发出蜂鸣声。我的蓝牙回调如下:publicclassReadWriteCharacteristicextendsBluetoothGattCallback{publicReadWriteCharacteristic(Contextcontext,StringmacAddress,UUIDservice,UUIDcharacteristic,Objecttag,Activityactivity){mMacAddress=macAddress;mService=service;mCharacteristic=characteristic;mTag=tag

android - 用户或当前进程都没有 android.permission.BLUETOOTH

我有一个简单的应用程序,目前只能打开/关闭蓝牙,当我在模拟器或Nexus7上运行它时,它说我的应用程序已停止响应,然后在启动时自行关闭。我尝试添加一个onStart()方法,因为它在类似的问题中解决了这个问题,添加了获得用户许可的Intent并将各种事物切换到不同的方法,但仍然崩溃。Logcat有这些消息:07-2901:05:41.541:E/AndroidRuntime(9745):FATALEXCEPTION:main07-2901:05:41.541:E/AndroidRuntime(9745):java.lang.RuntimeException:Unabletostarta

android - 检查 Bluetooth Low Energy Beacons 是否在 Android 附近

背景我想编写一个Android应用程序,它可以检测我是否进入或离开某个区域。每个区域(比方说建筑物)在广告模式下都有一个BLE信标。我确实知道信标的mac地址。该应用程序应在后台运行并且节能。立即识别区域并不重要,但5分钟的窗口就足够了。关于http://developer.android.com/guide/topics/connectivity/bluetooth-le.html它说你不应该“循环扫描”但是有没有其他方法来实现区域进入/离开事件?此外,我对UUID、服务和连接有些困惑。这些问题与我的问题不相关是否正确?据我从蓝牙规范中了解到,信标只能处理一个连接。因此,如果我只对附