Android phone 和 Android 电视之间的通信

Communicating between Android phone and Android TV

Android 是否有任何内置通信 API 允许 phone 上的原生 Android 应用程序 运行 与原生 Android 应用程序通信运行 在 Android 电视上?我能想到的唯一解决方案是 Android TV 应用程序创建一个套接字,phone 上的客户端应用程序将连接到这个套接字。

编辑: 我正在寻找一种无需用户交互即可设置通信的解决方案。蓝牙要求用户配对设备。 NFC 需要非常靠近设备。

Does Android have any built-in communication APIs that lets a native Android app running on a phone communicate with a native Android app running on Android TV?

您拥有与任何一对 Android 设备相同的选项:

  • 直接普通套接字,如果这两个设备碰巧在同一个 WiFi LAN 网段上或者可以直接访问,并且您对开放套接字连接的安全后果感到满意

  • WiFi 直连(如果可用)

  • 蓝牙

  • 通过 Internet 托管设施(例如 FCM)或可能是某些不在 Internet 上的本地可访问服务器(例如 WebRTC)进行间接通信

  • NFC,虽然可能很少 Android 电视设备支持 NFC

关于 Android 电视,我能想到的唯一可能更独特的是那些提供红外线 (IR) 接收器的电视,但我不知道有多少应用程序可以利用它, 很少有 Android 设备有红外发射器。

是的,我通过两种方式实现了这一点,因为 P2P 在许多 Android 电视上被禁用,我保留了套接字和 firebase 解决方案,两者都有效: 用于套接字目的: https://jayrambhia.com/blog/android-wireless-connection-1

对于 firebase,我做了一个页面,其中 firebasetoken 显示在 QRCode 中,移动应用程序扫描它,然后我们将带有 auth 参数的通知发送到可以连接到我们的 Android TV 应用程序后端。

有来自 android 开发者网站的指南

https://developer.android.com/training/connect-devices-wirelessly

  1. 网络服务发现 (NSD)
  2. P2P 连接 Wi-Fi Direct