跳过内容

Android

GitHub

Android 行为的工作原理

如何 Android 行为工作的部分

在 Android 上,该插件会发布一个高优先级的 incoming-call 通知,并在平台和用户设置允许时可以弹出一个全屏活动。

插件清单中已经包含:

<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" />

安装后, cap sync 已经足够将该配置合并到主应用中。

在入门或在您依赖 incoming-call 展示之前,

import { IncomingCallKit } from '@capgo/capacitor-incoming-call-kit';
await IncomingCallKit.requestPermissions();
await IncomingCallKit.requestFullScreenIntentPermission();
  • requestPermissions() 在 Android 13 或更高版本上请求通知权限。
  • requestFullScreenIntentPermission() 打开 Android 14 和更高版本的全屏意图设置页面。
import { IncomingCallKit } from '@capgo/capacitor-incoming-call-kit';
await IncomingCallKit.showIncomingCall({
callId: 'call-42',
callerName: 'Ada Lovelace',
appName: 'Capgo Phone',
timeoutMs: 45_000,
android: {
channelId: 'calls',
channelName: 'Incoming Calls',
showFullScreen: true,
isHighPriority: true,
accentColor: '#0F766E',
},
});

Android 专用选项

标题:Android 专用选项
  • channelId:通知通道的标识符
  • channelName:用户可见的通道名称
  • showFullScreen:请求全屏活动
  • isHighPriority:保持通知足够的打扰以适应铃声流
  • accentColor:使通知与兼容的通知表面相匹配
  • ringtoneUri:指向一个自定义 Android 铃声资源或 URI

行为备注

行为备注部分
  • 全屏展示最佳实践。如果设备或用户设置阻止它,Android仍会显示来电通知。
  • 超时处理最佳实践。插件跟踪和发送 timeoutMs ,但您的后端仍应在其侧重新协调丢失的呼叫。 callTimedOut接受、拒绝和结束动作通过__CAPGO_KEEP_0__侦听器发送回您的应用程序,以便您的应用程序可以加入或清理真实呼叫会话。
  • Accept, decline, and end actions are emitted back through Capacitor listeners so your app can join or clean up the real call session.

Use Android push or your calling SDK for transport, then let this plugin handle the last mile of native ringing UI. Keep these responsibilities outside the plugin:

  • 媒体会话生命周期
  • FCM注册和令牌管理
  • 后端调用状态
  • 重试和遗漏呼叫业务逻辑

如果您正在使用 Android 来规划原生媒体和界面行为,连接它与 使用 @capgo/capacitor-incoming-call-kit 为原生能力在使用 @capgo/capacitor-incoming-call-kit 中 使用 @capgo/capacitor-live-activities 为原生能力在使用 @capgo/capacitor-live-activities 中 @capgo/capacitor-live-activities 对于@capgo/capacitor-live-activities的实现细节 使用@capgo/capacitor-video-player 使用@capgo/capacitor-video-player来实现原生功能 @capgo/capacitor-video-player 对于@capgo/capacitor-video-player的实现细节