我浏览了Google TV配对协议,并从https://code.google.com/p/google-tv-pairing-protocol/下载了电视配对协议示例代码
我还读到了Anymote协议,但意识到它只适用于过时的Google TV.同样,适用于Android的Google TV远程应用示例代码也仅适用于Google TV
但我没有找到任何帮助我为Android TV编写远程控制应用程序.现在,我知道我可以使用电视配对协议与Android TV配对(再次,没有找到关于协议细节的大量文档,但我们假设我将从电视配对协议源代码中找出它).
我的问题是:在成功配对Android TV之后,我如何知道如何与Android TV通信以通过我的远程应用程序(通过Wifi /蓝牙)向其发送关键事件?这里使用的协议是什么(它不是Anymote),我在哪里可以找到原型细节?由于某种原因,它似乎并不公开.
我需要使用Android TV使用的现有方法向Android TV发送击键以接收重要事件(例如,谷歌的最新"Android控制远程控制"应用程序能够将关键事件发送到Android TV),否则我会我必须处理制作我自己的Android TV服务以接收关键事件,然后处理在Android TV设备上进行密钥注入,并且只允许使用INJECT_KEYS权限进行密钥注入,这意味着我必须制作自己的AOSP图像和使用系统密钥签署我的Android TV服务,以便能够进行密钥注入.
对此有任何帮助表示赞赏.
开发了一个应用程序,它充当外围设备并与其他设备连接(仅限中央).
它在具有操作系统版本6.0的设备中运行良好,但在Nougat 7.0中遇到了一些问题.
我收集了一些日志,在开发者选项中启用"Bluetooth HCI snoop log".
收集的日志:
W/bt_btm: btm_sec_disconnect : reason=19
W/bt_btif: btif_dm_generic_evt: event=33035
W/bt_btif: btif_dm_generic_evt: event=33035
W/bt_btm: btm_sec_send_hci_disconnect: handle:0x41, reason=0x13
W/bt_btif: btif_dm_generic_evt: event=33035
W/bt_btif: bta_gattc_conn_cback() - cif=3 connected=0 conn_id=3 reason=0x0016
W/bt_btif: bta_gattc_conn_cback() - cif=4 connected=0 conn_id=4 reason=0x0016
W/bt_btif: bta_gattc_conn_cback() - cif=5 connected=0 conn_id=5 reason=0x0016
W/bt_btif: bta_gattc_conn_cback() - cif=7 connected=0 conn_id=7 reason=0x0016
W/bt_btif: bta_dm_bl_change_cback : reason=22
W/bt_btif: bta_dm_bl_change_cback : reason=22
W/bt_btm: btm_sec_disconnected
W/bt_btif: conn.link_down.is_removed : 0
D/BtGatt.GattService: onClientConnected() serverIf: 6, connId=6, address=00:16:A4:13:1E:48, connected=false
W/bt_btif: btif_dm_upstreams_cback ev: BTA_DM_LINK_DOWN_EVT
W/bt_btif: BTA_DM_LINK_DOWN_EVT. …Run Code Online (Sandbox Code Playgroud) android bluetooth disconnection bluetooth-peripheral pairing
我想通过扫描设备管理器 android studio 中的二维码来配对我的 Android 设备。
有时它有效,但通常不起作用。
当我扫描 QrCode 时,它在下面的状态下等待
我尝试以下方法:
1-连接到同一个wifi
2-删除所有以前配对的设备
3- 尝试使用代码配对进行连接
4-重置android工作室
以及堆栈中提供的所有解决方案
我正在尝试将我的HTC myTouch 3G与蓝牙设备配对,蓝牙设备将通过SPP将数据传输到手机.我查看了聊天示例,发现它们缺少我需要的东西,因为我需要高数据速率,而Chat示例会在UI线程上阻塞.但这说我的主要问题是当我尝试连接当前未配对的设备时,蓝牙API会说如果设备需要配对代码,它会自动弹出一个对话框.这从未发生过.我如何确保它确实如此?这是我的代码......
BluetoothSocket btSocket;
String macAddress = data.getStringExtra("mac");
Log.d(TAG, "Found Device " + macAddress);
// Get the Bluetooth adapter on the device
BluetoothAdapter bta = ((MyApplication)this.getApplication()).getBtState();
BluetoothDevice btDevice = bta.getRemoteDevice(macAddress);
BluetoothSocket tmp = null;
try {
tmp = btDevice.createRfcommSocketToServiceRecord(UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"));
} catch (IOException e) {
e.printStackTrace();
}
if (tmp != null) {
btSocket = tmp;
bta.cancelDiscovery();
try {
btSocket.connect();
} catch (IOException e) {
try {
Log.e(TAG, "------------- Close IOException");
btSocket.close();
} catch (IOException e2) {
Log.e(TAG, "unable to close() …Run Code Online (Sandbox Code Playgroud) 我无法通过蓝牙连接两台Android设备,只有在之前配对时才会发生.我正在运行一个作为服务器,另一个作为客户端.
以下是服务器端的一系列事项:
在客户端:
当客户端和服务器之前从未配对时,上述过程对我来说非常好.但是,Android在设备列表中注册后,它们将不可避免地在connect()/ accept()阶段超时.
我一直在寻找解决方案几天,并尝试了很多东西,包括这一个: 连接到已经配对的蓝牙设备
反射方法对我也不起作用.似乎connect()会立即返回,但是当我尝试getOutputStream()时,我得到一个异常.在accept()方面,它甚至没有注册有人试图连接.我认真地需要一些帮助或指针来让设备在之前配对后建立连接.
以下是有关设备的一些信息:
提前谢谢你.我在Android和蓝牙方面大约有两周的时间,所以如果您发现任何缺失的步骤或最佳做法,请同时指出它们.
android bluetooth android-sdk-2.3 bluetooth-lowenergy pairing
我真的在努力解决这个问题,我找不到办法.我需要在与蓝牙设备配对时显示Android的默认对话框.
现在我实现了以一种非常简单的方法以编程方式对它们进行配对,但它只适用于API 19.我需要从API 18完成此操作.
现在,当我连接到我的应用程序中的设备时,我收到要求配对设备的通知,但它没有显示对话框.如果我需要,我必须在设备中展开通知,然后单击配对请求通知.
有没有我可以调用的方法,例如当我在广播接收器中收到通知时,向我显示默认的配对请求对话框?在用户接受配对并输入PIN后,只需执行配对,解除配置并继续使用应用程序的过程?
非常感谢您的帮助!
我正在使用两个Android 5.0设备通过蓝牙低功耗进行通信,我不想:
设备1充当中央和服务器.
设备2充当外围设备和客户端.
这是我想要实现的行为:
1)设备2开始广告(外围角色).
2)设备1开始扫描(中心角色),并通过ScanCallback的onScanResult方法获取广告设备(BluetoothDevice对象).
3)我现在希望通知广告设备(设备2)它已经被扫描并且能够获得与设备1相关联的蓝牙设备.
4)设备1具有BluetoothGattServer的实例.设备2现在将在设备1上调用connectGatt(上下文上下文,布尔autoConnect,BluetoothGattCallback回调)以获取BluetoothGatt的实例.
5)最后,设备1是服务器,设备2是客户端.
到目前为止,我发现在步骤2中,一旦设备1保持设备2的蓝牙设备,它只能像使用connectGatt的步骤4那样连接客户端.
我可以使用设备1中定义的BluetoothGattServer,并调用:gattServer.connect(BluetoothDevice device,boolean autoConnect),设备为Device 2.
但是如何通知设备2已连接到?
而如何将我得到的一个实例BluetoothGatt在设备2,如果我不能叫 connectGatt(上下文,布尔,BluetoothGattCallback)上BluetoothDevice类?
预先感谢您的帮助 !
一些文件:
我正在编写一个Android应用程序,我希望以编程方式绑定到自定义BLE设备.我有手动绑定工作,用户使用标准的Android蓝牙配对对话框输入PIN,但我无法找到任何有关如何以编程方式自动绑定BLE设备的信息,无需用户干预.那可能吗?如果是这样,那个过程是什么?
我正在开发一个 iOS 应用程序(适用于 iOS 13+),该应用程序应该使用最安全的 BLE 配对方法,即带外配对 (OOB)(通常使用 NFC 标签来存储 BLE 地址/临时密钥 (TK)) )。
\n\n不幸的是,要么是我的 Google 技能很糟糕,要么是 Google 上根本没有关于 iOS 中 OOB 配对的有用信息。
\n\n据我了解,Apple 已经在使用某种 OOB 技术与 Apple Watch 配对(通过图像而不是 NFC,并回退到密钥)。
\n\n在我的 Google 研究过程中,我发现了一个指向 StackOverflow 的链接,\n iOS 上的蓝牙 \xe2\x80\x9cout of band\xe2\x80\x9d (OOB) 配对?,\n这提出了同样的问题,但这是从 2015 年 9 月开始的,所以答案(希望)已经过时了!
\n\n另外,查看了 CoreBluetooth API,其中似乎没有关于 OOB 配对的信息。
\n\n> 有人有关于这个主题的更多(最新)信息吗?
\n\n非常感谢任何链接/线索/解释!
\n\n(我真的不敢相信,到目前为止,这还没有在 iOS 中实现。)
\n
我有正确的 IP 地址,但当我连接到我的 mac 时,我收到此错误消息:
An error occurred while generating the SSH keys. Please check that the environment is properly configured. Details: cat: /Users/cbcb/Library/Caches/Xamarin/XMA/Keys/---------------------: No such file or directory
我尝试创建一个新的管理员用户,我启用了远程登录,当我转到以下位置时,文件夹被清空。
visual-studio xamarin remote-login pairing visual-studio-2019
pairing ×10
android ×8
bluetooth ×6
android-wifi ×1
controls ×1
dialog ×1
gatt ×1
ios ×1
remote-login ×1
swift ×1
television ×1
xamarin ×1