如何在 Android 的这个特定用例中实现 MQTT?

2024-04-27

我的用例:登录到我的应用程序的用户应该能够向在另一台 Android 设备上登录到该应用程序的自己发送消息。如果用户拥有多个设备,那么一旦他打开该消息,其他设备上的通知必然会消失。

Doubts:

  1. 如何跨设备向特定用户发送数据?我了解如何使用 GCM 向不同设备上的不同用户发送消息,但这似乎相当令人困惑。

  2. 如何在 MQTT 中实现这一点并具有足够的安全性?我尽可能多地阅读了有关安全性的内容,并得出结论:MQTT 不负责它,我必须在代理级别实施我自己的安全措施。截至目前,Mosquitto 代理允许用户名/密码身份验证,但对于实现 Oauth 的应用程序,用户名/密码似乎相当容易受到攻击。

或者我应该转向 XMPP?


您可以使用新的用户通知 http://developer.android.com/google/gcm/notifications.htmlGCM 的特点。

什么是用户通知?

第三方服务器可以向多个实例发送一条消息 在单个用户拥有的设备上运行的应用程序。这个功能是 称为用户通知。用户通知使之成为可能 用户拥有的每个应用程序实例都反映最新的消息传递 状态。例如:

  • 如果一个消息已在一个设备上处理,则另一台设备上的 GCM 消息 设备被解雇。例如,如果用户处理了 一台设备上的日历通知,该通知将在 用户的其他设备。
  • 如果消息尚未发送到设备但已被处理,则 GCM 服务器会将其从未发送队列中删除 其他设备。
  • 同样,设备可以向 notification_key 发送消息,GCM 使用该令牌将通知扇出到其注册 ID 与该密钥关联的所有设备。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Android 的这个特定用例中实现 MQTT? 的相关文章

  • RxAndroid - 单击时重试可观察

    我在 Android 应用程序中使用 rxAndroid 和 rxKotlin 来异步处理网络请求 现在我想仅在单击 Snackbar 按钮后重试失败的网络请求 我现在的代码 val citiesService ApiFactory cit
  • Android 两次请求 USB 许可

    我有一个运行 Android 4 0 4 的开发板 并将其用作 USB 配件 当我关闭板上的应用程序然后通过 USB 插入 Android 手机时 板会提示 连接此 USB 设备时打开 AppName 当我触摸 确定 时 应用程序启动并再次
  • 使用 Spongy Castle 库生成 ECDH 中的密钥对

    我是台湾的学生 我正在学习如何在 Android 中编程 但我在使用 Spongy Castle 库在 ECDH 中生成密钥对时遇到问题 当我启动应用程序时 Android系统显示应用程序已停止 这是我的代码和我的导入 public cla
  • 在通知声音中暂停/恢复媒体播放器

    很容易检测到电话何时打入 通过phoneStateListener 但是其他通知声音 例如电子邮件或短信 又如何呢 在某些设备上 这些通知听起来很静音 但不会暂停任何当前正在运行的 mediaPlayer 实例 这对用户来说很烦人 理想情况
  • HttpURLConnection getResponseCode 未返回

    我尝试在 Android 上使用 HttpURLConnection 将文件发布到我们的服务器 但 getResponseCode 调用只是挂起并且永远不会返回 该问题源于文件对于服务器来说太大 因此服务器发回 HTTP 错误代码 413
  • 如何在android中直接从.zip文件读取文件而不解压它

    过去几个月我一直在研究 android 现在我的问题是读取放在 sdcard 上的 zip 文件 我已经成功完成了将 zip 文件下载到 SD 卡上的编码 我已将 img zip 文件下载到 SD 卡上 此 img zip 包含 5 个图像
  • 修改 Settings.apk 以与 Project Glass 配合使用

    我正在尝试构建要在 Google I O 的 Hacking Glass 会议上在 Glass 上使用的 Settings apk 他提到 为了让设置 apk 正常工作 需要修改清单中的一行 这是 AOSP 清单 http pastebin
  • 带有电子墨水显示屏的 Android

    我有兴趣使用 AndroidE Ink http www eink com technology howitworks html为基础的平台 我知道已经是证明了 http vimeo com 3162590MOTO 曾经使用过 但我有兴趣将
  • Zxing库无法解析

    我正在使用 zxing 库开发应用程序 我导入了zxing项目到我的工作场所 当我导入时遇到了一些问题 通过编译项目java 1 7 我做到了 CameraConfigurationUtils失踪 我从library source Reso
  • ListView 中的焦点控件

    上下文 我想要一个不会获得焦点的 ListView 例如不会 当用户触摸它时突出显示该行 然而每个行小部件都有它自己的 OnClickListener 这是我在布局 xml 中指定的内容 android choiceMode none an
  • 如何让SeekBar占据父级的整个宽度

    我有一个SeekBar in a RelativeLayout其宽度等于屏幕宽度 我申请了layout width match parent to the SeekBar但两边似乎都留有一些空白SeekBar以容纳拇指 我也尝试过使用and
  • Kotlin 1.6.0 的 proguard / R8 删除了数据类元数据

    我有一个包含一些数据类的包 我尝试使用 Kotlin 反射在运行时访问构造函数clazz primaryConstructor 一切都按预期工作 但是当我启用 R8 时 数据类元数据被删除 例如当我检查是否KClass isData它返回
  • 如何在 Android 上禁用 HTML 输入中的自动更正?

    我无法在 Android 上的网络浏览器中禁用文本输入的自动更正 我试过这个
  • MediaPlayer.getDuration() 返回错误的持续时间

    媒体播放器的getDuration 方法为我提供了某些音频文件的错误值 我认为所有这些文件的共同特征是它们是使用 Audacity 或其他一些音频编辑工具进行操作的 当尝试将 MediaPlayer 进度绑定到进度栏时 这是一个问题 我继续
  • Android 布局崩溃

    I use a XWalkView https crosswalk project org 加载网页和视频查看器 https github com Bilibili ijkplayer在我的应用程序中播放实时视频 我希望 IjkVideoV
  • 为什么Android和IOS11无法通过NFC通信

    目前正在使用 React Native 并尝试使用反应本机 NFC ios https www npmjs com package react native nfc ios and 反应本机 NFC https github com Nov
  • 带有 DialogFragment 的上下文操作栏

    我一直在尝试实现一个上下文操作栏和一个对话框片段 类似于android中的下载小部件 我尝试过设置android windowActionModeOverlay主题要真实 但这似乎不起作用 有什么办法我可以实现它吗 您在屏幕截图中看到的下载
  • proguard 不会删除日志

    In proguard rules pro 我有以下配置 assumenosideeffects class android util Log public static boolean isLoggable java lang Strin
  • java.net.ServerSocket.accept () 在 Android 上不返回

    我正在尝试找到一种方法来远程登录到未root的机器人 我有INTERNET权限处于活动状态 我的设备与我的设备连接在同一网络上Mac OS X通过 WiFi 我可以 ping 通我打开的端口 在最初的实验中 我让它在有根测试设备上工作 但我
  • Android 如何在按下或聚焦时使 TextView 文本变为粗体

    我的布局中有一个文本视图 我的要求是当我按下或聚焦它时 文本应该是粗体 否则应该使用普通字体 我该如何实施 使用下面的代码 TextView name TextView findViewById R id TextView01 name h

随机推荐