更新记录
1.0.0(2026-07-27)
初始化版本
平台兼容性
uni-app(5.21)
| Vue2 | Vue3 | Vue3插件版本 | Chrome | Safari | app-vue | app-vue插件版本 | app-nvue | Android | Android插件版本 | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| - | √ | 1.0.0 | × | × | √ | 1.0.0 | - | 6.0 | 1.0.0 | × | × |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| - | - | - | - | - | - | - | - | - | - | - | - |
uni-app x(5.21)
| Chrome | Safari | Android | Android插件版本 | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|---|
| × | × | 6.0 | 1.0.0 | × | × | × |
call-notice
Android UTS 原生混编插件。业务层收到 socket 消息后,调用插件显示高优先级来电通知;
锁屏时通过 fullScreenIntent 展示原生来电 Activity。
调用
import {
showIncomingCall,
dismissIncomingCall,
requestNotificationPermission,
canUseFullScreenIntent,
openFullScreenIntentSettings,
consumeLastCallAction
} from '@/uni_modules/call-notice'
requestNotificationPermission((granted) => {
console.log('通知权限', granted)
})
// 放进 socket.onMessage 中
showIncomingCall({
callId: 'call-10001',
callerName: '张三',
callerSubtitle: '邀请你进行视频通话',
payload: JSON.stringify({ roomId: 'room-8', type: 'video' }),
timeoutSeconds: 60,
openImmediately: true
})
// 对方取消或超时
dismissIncomingCall('call-10001')
一个完整的 socket 消息分支可以这样接:
const socket = uni.connectSocket({
url: 'wss://你的域名/ws',
complete: () => {}
})
socket.onMessage(({ data }) => {
const message = JSON.parse(data)
if (message.event === 'call.invite') {
showIncomingCall({
callId: message.callId,
callerName: message.callerName,
callerSubtitle: message.video ? '邀请你进行视频通话' : '邀请你进行语音通话',
payload: JSON.stringify(message),
timeoutSeconds: 60
})
} else if (message.event === 'call.cancel') {
dismissIncomingCall(message.callId)
}
})
在 App.vue 的 onShow 中读取用户操作:
const raw = consumeLastCallAction()
if (raw) {
const result = JSON.parse(raw)
if (result.action === 'accept') {
// 进入你的 WebRTC/音视频通话页面
}
}
Android 系统限制
- Android 13+ 首次使用前必须由用户授权通知权限。
- Android 14+ 可能需要用户在系统设置中允许“全屏通知”,可先调用
canUseFullScreenIntent(),未开启时调用openFullScreenIntentSettings()。 - Manifest 和 Activity 配置需要制作自定义调试基座后生效。
- 纯 JS WebSocket 只在应用进程存活时可靠。若要求应用被系统杀死后仍能收到来电, 服务端应同时发送厂商推送/FCM,并由原生推送回调调用本插件,或实现合规的前台服务。
- 部分国产 ROM 还需用户允许通知、锁屏通知、后台弹出界面和自启动。

收藏人数:
购买普通授权版(
试用
赞赏(0)
下载 0
赞赏 0
下载 12459936
赞赏 1935
赞赏
京公网安备:11010802035340号