草庐IT

Android 蓝牙 accept()/connect() 与已经配对的设备

我在通过蓝牙连接两台Android设备时遇到问题,只有当它们之前已经配对时才会出现这种情况。我将一个作为服务器运行,另一个作为客户端运行。这是服务器端的顺序:检查各种蓝牙状态(适配器可用、已启用等)。使用我选择的预定义UUID调用listenUsingRfcommWithServiceRecord()。请求使设备可被发现由于被发现是异步发生的,所以我调用accept()并等待传入​​连接。在客户端:检查各种蓝牙状态(适配器可用、已启用等)。对于getBondedDevices()中的每个设备,我将getName()与服务器名称进行比较。如果匹配,则跳至第6步。开始BT发现对于每个发现的

android - 与配对设备的蓝牙自动连接

我是新来的,我已经阅读了很多你的帖子,但仍然没有找到我的问题的解决方案。我正在为使用蓝牙连接到终端设备的Android2.2编写应用程序。我有一个配对设备列表,我可以将我的Android平板电脑与我已知的每个设备连接。我想做的是,一旦Android平板电脑(顺便说一句,在整个通信中掌握)检测到已知配对设备之一在范围内,就自动连接终端设备。一种可能性是不断轮询并尝试查看谁在我附近,但这会消耗大量电池生命周期,并且如果我使用其中一个终端设备进入范围而我的Android平板电脑不在范围内在轮询过程中,我不会获得自动连接;我将不得不等到下一个轮询周期。这个问题有什么解决办法吗?我希望所有的东西

android - Google Nearby Connections 2.0 有时会询问蓝牙配对 PIN 码

在自动模式下使用示例对讲机程序测试GoogleNearbyConnections2.0期间,设备有时会要求提供蓝牙配对密码。我见过两种情况:只有一个设备有一个弹出对话框要求输入pin。输入任何数据或关闭对话框将导致连接失败两种设备都有弹出对话框。一个要求设置密码,另一个要求输入密码。输入pin后,连接成功。场景1发生的频率更高。如何避免这个问题?我找不到有关NearbyConnections2.0SDK文档的任何信息。我在自己的应用程序中也看到了这个错误,它使用GoogleNearbyConnections2.0。“对讲机”示例程序使用P2P“星型”策略,而我的应用程序使用P2P“集群

android - 如何在 Android 中强制蓝牙 LE "Just Works"配对

我有一个运行GATT服务器的嵌入式系统,我正尝试通过Android连接到该服务器。任务很简单:连接到GATT服务器、导航特征并验证读/写能力。问题是当我尝试连接Android应用程序时,它会尝试与“密码”配对,而不是与“JustWorks”配对[https://developer.bluetooth.org/TechnologyOverview/Pages/LE-Security.aspx].这是NotAcceptable,因为我的嵌入式设备没有任何方法可以向用户显示用于配对的key。所以连接方式必须是JustWorks。我尝试了Play商店中的许多应用程序,但所有应用程序都只尝试与P

android - 如何将底部应用栏与顶部应用栏配对?

图中是我想做的。我有两个menu.xml文件。如何在顶部应用栏添加第一个菜单,在底部应用栏添加第二个菜单?我可以在一项Activity中执行此操作,还是应该使用顶部应用栏+带有底部应用栏的fragment创建Activity?谢谢。 最佳答案 所以,我解决了这个问题。对于Activity顶部的工具栏,我使用setSupportActionBar()在onCreateOptionsMenu()中膨胀菜单并处理MenuItem点击onOptionsItemSelected()对于BottomAppBar(新Material组件),我使用

Android Bluetooth | 蓝牙配对源码分析

好厚米们,我又来了!这次分享的是蓝牙设备执行配对动作时Android源码的执行流程。下面先来说下,应用层是如何发起蓝牙配对的:(ps:大多数业务逻辑,都是扫描到可用设备后,点击可用设备->发起配对。)这里我直接略过点击可用设备的步骤哈,扫描到第一个可用设备后,我直接通过扫描信息进行配对。publicclassMainActivityextendsAppCompatActivity{privateBluetoothAdaptermBluetoothAdapter;privateBluetoothDevicemBluetoothDevice;privateBluetoothLeScannersca

无需用户使用 Android API 输入 PIN 和确认的 Android 蓝牙配对

我是Android编程的初学者,因为我才3个月前才开始。我正在做一个使用蓝牙将android应用程序连接到arduino的项目。我已经有了android应用程序的代码(bluetooth.adapter、套接字等)。连接代码已经在工作。目标之一是让Android应用程序在与蓝牙设备配对时自动输入密码,而不要求用户输入PIN。这个论坛上的旧帖子没有多大帮助。(许多人建议使用不安全模式,但我确实需要安全模式,在我的情况下,arduino是服务器,而手机应用程序是客户端,因此createInsecureRfcommSocketToServiceRecord()服务器方法对我不起作用)我在an

Android,如何将 BLE 设备制作成配对设备(绑定(bind))

在关贸总协定之前,创建RfcommSocketToServiceRecord,createInsecureRfcommSocketToServiceRecord方法可以使配对设备,但GATT没有关于配对设备的选项,只使用BluetoothDevice.connectGatt(...)如果已经连接,我想制作一个配对设备。谢谢。 最佳答案 据我所知,要在BLE中启动配对过程,有两种方法:1)从API19及更高版本开始,您可以通过调用mBluetoothDevice.createBond()开始配对.您无需连接到远程BLE设备即可开始配对

android - 如何在 Android 上以编程方式配对和连接 HID 蓝牙设备(蓝牙键盘)

我可以配对蓝牙键盘但无法连接以使其成为输入设备。我浏览了开发者网站提供的文档-http://developer.android.com/guide/topics/connectivity/bluetooth.html#Profiles它表示AndroidBluetoothAPI为以下蓝牙配置文件提供了实现,但您可以实现接口(interface)BluetoothProfile来编写您自己的类来支持特定的蓝牙配置文件。耳机A2DP健康设备没有关于如何为HID蓝牙设备(键盘)实现BluetoothProfile的文档Android本身已经为HID设备实现了蓝牙连接,但这些API是隐藏的。我

java - 以编程方式连接到配对的蓝牙扬声器并播放音频

在我们的应用中,我想使用Androidv4.2或更高版本连接到之前配对的A2DP蓝牙扬声器并直接向其播放音频。我可以使用此代码成功创建A2DP配置文件对象以启动该过程:/*Manifestpermissions*///GetthedefaultadapterBluetoothAdaptermBluetoothAdapter=BluetoothAdapter.getDefaultAdapter();//Establishconnectiontotheproxy.mBluetoothAdapter.getProfileProxy(this,mProfileListener,Bluetoot