1.首先本文是依据腾讯云音视频的场景demo集成(依赖trtcaudiocalldemo与trtcvideocalldemo)
2.其中最主要的回调是CallService这个服务类
正文开始:
1.一般app运行在后台的情况下,Service很容易就被回收,一旦CallService被回收,任何音视频消息都无法收到, 所以我们需要解决的第一点是保证service长时间的运行在后台,常规的方法是引导用户去给自己的APP添加白名单并使你的应用不被电池优化(.html(转载) 白名单和电池优化),非常规的方法是采用双进程守护 ,来保证CallService的长时间运行。
2.解决了第一点之后,我们就可以在APP运行在后台的情况下来被用户呼叫,但是此时并不会弹出我们想要的视频接听页,具体的做法是采用Notification的形式,在CallService的onInvited中使用Notification中的setFullScreenIntent 来做一个类似于来电提醒的功能。这样我们就能获得类似来电提醒并且全屏打开被呼叫页面的Activity(对应TRTCAudioCallActivity,与TRTCVideoCallActivity)的功能。
3.锁屏状态下,你需要的仅仅是唤醒屏幕 并且在Activity的Oncreate方法中加上FLAG_SHOW_WHEN_LOCKED 这个标志位,如果你等API大于27 请使用 setShowWhenLocked(true) 来使你的Activity(TRTCAudioCallActivity,TRTCVideoCallActivity)能够在锁屏时显示
。
本文发布于:2024-01-31 06:43:30,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170665461326344.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |