跳转到内容
彼岸论坛
欢迎抵达彼岸 彼岸花开 此处谁在 -彼岸论坛

[Android] 记录开发一个 FCM 通知转发软件


小天管理

已推荐帖子

自己写了一个软件当作学习,把一台 Android 设备作为服务端,通过 fcm 转发通知给另一台设备
1.首先,根据官方教程去 Firebase 控制台建立一个项目
https://firebase.google.com/docs/cloud-messaging?hl=zh-cn
2.Android Studio 建个 app ,可以同时给服务端和客户端安装的,里面当然根据教程加入 Google 服务及其 json 文件
3.app 里加入一个 NotificationListenerService ,作为服务器,监听新通知,转发到 fcm 服务器用
加入一个 FirebaseMessagingService ,在客户端上接收转发过来的 fcm 消息用
4.Android 设备要作为服务器,目前就只能选择使用 HttpV1 api ,使用 okhttp3 发送 post 请求,模拟服务器,并且只好手动提供凭据( firebase 控制台下载 json 文件,里面包含密钥什么的,放到设备应用安装 data 目录下本地读取,使用 google-auth-library-oauth2 生成 token ),并且启动一个 ForegroundService 确保设备息屏后,也能持续稳定转发通知
5.在客户端设备上,收到通知,如果客户端上安装了相同包名的通知来源应用,这可以直接点击通知启动对应应用,这需要 fcm 添加自定义 data 。
当应用在后台时送达的通知消息。在这种情况下,通知将传送至设备的系统任务栏。默认情况下,用户点按通知即可打开应用启动器。
在后台接收的既包含通知又具有数据载荷的消息。 在这种情况下,通知将传送至设备的系统任务栏,数据载荷则传送至启动器 Activity 的 intent 的 extras 属性中。
在前台则是执行 FirebaseMessagingService 中重写的 onMessageReceived 方法
这样,可以转发米 OV 魅上的通知到三星、索尼、谷歌等国际安卓手机上,也不用 root 。(虽然我没什么国产 app 需要推送通知的,需要的也基本都支持 fcm 推送,而且也没有国产 miOV 魅设备(有米有好心人送我一台🤣),但是,学习,写着玩嘛,继续学习,继续完善)
https://github.com/HappyMax0/NotificationSync
意见的链接
分享到其他网站

加入讨论

您现在可以发表并稍后注册. 如果您是会员,请现在登录来参与讨论.

游客
回复主题...

×   粘贴为富文本.   粘贴为纯文本来代替

  只允许使用75个表情符号.

×   您的链接已自动嵌入.   显示为链接来代替

×   您之前的内容已恢复.   清除编辑器

×   您无法直接粘贴图片.要从网址上传或插入图片.

  • 游客注册

    游客注册

  • 会员

    没有会员可显示

  • 最新的状态更新

    没有最新的状态更新
  • 最近查看

    • 没有会员查看此页面.
×
×
  • 创建新的...