草庐IT

ble-state-preservation

全部标签

android - 如果已经在通话并且第二个调用者正在调用,如何不触发 PhoneStateListener.CALL_STATE_RINGING

我正在编写一个自动接听电话的应用程序。问题是,如果我已经在通话中并且有人在响铃,它不应该接听电话。有没有办法做到这一点?根据文档,如果我使用TelephonyManager检查状态,它将是CALL_STATE_RINGING而不是CALL_STATE_OFFTHEHOOK。我是否必须添加一个变量,该变量在不断变化的Telephone状态下设置为true,以便我知道有一个正在进行的调用或是否有更好的解决方案?谢谢!/edit:我在未经许可Modify_Phone_State的情况下接听电话,所以它只是为了查明是否已经有通话正在进行。 最佳答案

android - 在 Android 中读取 BLE 接近配置文件的蓝牙 RSSI

我目前正在为Android开发蓝牙低功耗接近配置文件,我偶然发现了一个关于RSSI的问题。为了使邻近配置文件正常工作,我必须每隔很短的一段时间就使用已连接的设备接收RSSI数据。由于我做了一些研究,我了解到在设备发现过程中可以获取蓝牙RSSI。这对我不起作用,因为从属设备在连接后不做广告。反之则深入到HCI级别并使用BlueZ。这似乎是相当低的水平。有没有人有这方面的经验?有人见过在Android上开发的接近配置文件吗? 最佳答案 您可以在连接后一段时间后重复使用readRemoteRssi()方法。但它不会很好地工作。因为挂起的标

android - 添加数据时刷新ExpandableListView : keep state

我有一个使用BaseExpandableListAdapter的自定义适配器填充的ExpandableListView。我可以在新Activity中添加新数据,然后我必须刷新列表。刷新列表时,我想保持相同的组展开。可以在列表中的任何位置添加新条目。我们可以添加新的组或只是新的child。现在我正在使用:adapter.notifyDataSetChanged();列表刷新了,但是状态不一样了。例如,如果我有三个组:G1展开、G2未展开、G3展开,并且我在G2和G3之间添加了一个新组G4,那么G4获得G3状态,因为它占据了它的位置。有什么方法可以自动保持状态,还是我必须在我的适配器中手动

Android BLE,不能真正写特性

我正在开发一个Android项目,该项目将通过BLE链路连接Nexus7和生物传感器。问题是,我可以成功检测并获取传感器的服务和特征列表。当我向特定特征写入一些数据时,onCharacteristicWrite会自动调用并显示写入操作成功。但是,传感器从未从平板电脑接收到任何信息。如果我在iPhone上使用类似的应用程序,一切正常。所以设备没有问题。有没有人知道这个问题?这是我的写代码:privatefinalBluetoothGattCallbackmGattCallback=newBluetoothGattCallback(){@OverridepublicvoidonConnec

java - Android BLE外围设备数据接收

这听起来可能很基础,但我是AndroidBLE开发的初学者。到目前为止,我能够将我的Nexus9设备创建为外围设备,将MotoG创建为中心设备。另外,我正在成功连接设备。但是我无法弄清楚当我从中央设备发送一个特性时,它会从哪里接收到外围设备?Advertise回调仅在广告成功启动时返回(在我的例子中是成功的)这是我的外设代码btleGattCallback=newBluetoothGattCallback(){@Override//ResultofacharacteristicreadoperationpublicvoidonCharacteristicRead(BluetoothGa

android - 避免在连接期间从 BLE 设备发现服务

我正在开发一个具有蓝牙低功耗通信功能的Android应用程序,我需要与我的BLE设备建立快速连接。发现设备的服务需要2秒,这对我的应用程序来说很长,如果我第一次连接到设备,服务将保存在BLE框架的某个缓存中,然后下次我尝试发现服务需要几毫秒,那就是适合我的应用。问题是,如果我与设备断开连接一段时间或连接到另一台设备,下次我连接到第一台设备时,我需要发现服务并需要2秒。我只连接到一种类型的设备,并且服务和特性是已知的。我尝试使用绑定(bind)(配对)设备,但是当我连接到它们时没有保存任何服务,我需要再次发现它。有没有什么方法可以保存服务和特征并将其保存在我的应用程序中,这样下次我连接到

android - BLE扫描记录说明

我正在尝试从以字节形式收到的BLE广告中获取UUID、Major、MinorID[]。我使用了建议的代码here但我无法理解解析器的输出。这是我为其中一个BLE设备获得的输出Length:2Type:1Data:6,Length:26Type:-1Data:760221-9-126109-9079-9478-104-12836-6891113-32-1196212-121-7952-77,Length:8Type:9Data:7511111011697107116,Length:2Type:10Data:-12,Length:10Type:22Data:13-4811776106985

android - google nearby message api 中的 ble 扫描持续时间是多少?

有谁知道googlenearbymessagesapi的扫描持续时间以及每次扫描之间的时间间隔?只是出于好奇,因为文档对此没有说明任何内容。 最佳答案 当你publish()或subscribe()时,有一个TTL取决于你传入的策略。该策略是SubscribeOptions的一部分或PublishOptions对象,您可以选择传入。您可以将TTL设置为您喜欢的任何值,包括TTL_SECONDS_INFINITE。如果您不传入一个,它将使用默认策略,即TTL为300秒。参见referencefortheStrategyclass.

Android - 以编程方式绑定(bind) BLE 不适用于所有 CoolPad Note 3

我正在使用下面的广播接收器来捕获绑定(bind)请求并在没有用户弹出请求的情况下绑定(bind)它。privatestaticBroadcastReceiverpairingBroadcastReceiver=newBroadcastReceiver(){@OverridepublicvoidonReceive(Contextcontext,Intentintent){if(BluetoothDevice.ACTION_PAIRING_REQUEST.equals(intent.getAction())){BluetoothDevicedevice=intent.getParcelab

android - android :state_enabled ="false"时无法设置颜色

我有一个ListView,第一次显示它时我想禁用它的一些项目。为此,我制作了这个textorange_selected.xml:我在一行的布局中使用它:问题是它永远不会进入android:state_enabled="false"(那应该是项目被禁用并且我将文本颜色设置为灰色的时刻)。为了禁用我在我的适配器中使用此代码的项目:@OverridepublicbooleanareAllItemsEnabled(){returnfalse;}@OverridepublicbooleanisEnabled(intposition){returnposition我的错误在哪里?