轶哥

妄图改变世界的全栈程序员。

首款iPhone短信自动转发到Android的APP
  •   更新:2023-08-28 21:24:45
  •   首发:2023-08-28 21:24:45
  •   随笔
  •   202

由于工作需要,长期以来我都是iPhone作为主力机,安卓作为备用机。经常出现iPhone在充电的时候需要接收验证码。为了实现备用机和主力机一致的功能体验,特地让AI帮我写了一个APP实现“iPhone短信自动转发到Android手机”。

众所周知,Android手机APP是可以可以申请读取短信内容权限的,实现Android短信自动转发或者自动识别验证码是比较容易的。但是目前为止,我并没有发现市面上存在IOS应用程序可以实现读取短信的。真的没有办法实现读取短信内容吗?带着疑问我让AI帮忙翻阅了Apple开发者文档,最后发现其实是可以实现这个功能的。

androidstudio.png

在Win11中使用新版Android Studio开发体验真的非常棒,在最新硬件的加持下,媲美IOS开发体验。

绝大部分代码由AI完成,否则我也无法在一天之内完整这个应用程序的开发。不过AI的Bug也是真的多,整个过程我真机测试调试了一百多次,发了一百多条短信。

preview.jpg

最终在第二天凌晨1点左右完成了所有功能的开发。实现了我能想到的所有刚需功能。

iphone2android.gif

最终实现的功能:

  1. 实时和iPhone通讯,接收iPhone端自动转发过来的短信。
  2. 展示Android和iPhone的实时连接状态,任意一端不在线,另一端可以收到离线提醒。例如iPhone放在书包无电量自动关机后,Android端将会显示离线状态。由此保障了只使用Android端的时候能确保收到短信。
  3. 复制及转发短信的功能,目前无法实现回复短信的功能。
  4. “已读”状态提示,Android读过的短信会自动在iPhone中标记已读状态。
  5. 实现了Android端的开机自动启动,“前台服务”功能,实现始终保活(保持后台运行,不会被系统强制自动关闭),由于整个应用只有一个简单的Service,内存占用极低,几乎不影响续航。Ios端和Android端开机自动连接。任意一端都可以随意开关机,实现整个转发过程是无感的。
  6. 当通过Android系统通知界面移除通知的时候,自动已读Ios端短信。在我的使用场景下,短信主要功能就是接收验证码,看完了通知就直接标记已读更省事
  7. 实现了一键已读全部和删除所有历史短信的功能。

我希望实现但暂时没有实现的功能:

  1. 通过WebRTC实现点对点音视频通话,从而实现Android端接听电话的功能。理论上是可以实现的,但是我用了其他替代方案,就没有去做了。借助CallKit可以实现无需事先启动iPhone端APP接听音视频,这个功能之前我在视频系统中实践过,用户体验极佳。另一种方法,可以通过呼叫转移实现主力机没有接听的时候转发到备用机,也可以通过APP自动设置,监测到Android手机被使用的时候,自动设置呼叫转接到备用机,如果Android手机3分钟没有使用,自动设置取消呼叫转移。当然还有其他方法,这里就不再赘述了。
  2. iPhone端已读短信后同步到Android端。这个功能由于Android端缺少写入默认短信应用信息的API而不得不放弃。

借助第三方实现的功能:

  1. 借助开源的短信转发器,可以实现安卓自动转发到iPhone。这样就是双方互相转发了。
  2. 实现了来电同时显示在iPhone和Android端,可以在任意一端接听,也可以在任意一端挂断后另一端同步挂断。

总结:

本来计划开源APP代码的,但是考虑到这个应用极有可能被不法分子利用,最终放弃开源。

由于精力限制,暂时没有进行APP备案和上架。

打赏
交流区

暂无内容

尚未登陆
发布
  上一篇
下一篇 (逆境会改变大脑)  

评论回复提醒