跳过内容

安卓

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:使通知的颜色与 Android 通知表面兼容
  • ringtoneUri:指向一个自定义 Android 铃声资源或 URI

行为说明

行为说明标题
  • 全屏展示效果尽力而为。如果设备或用户设置阻止它,Android仍然会显示来电通知。
  • 超时处理尽力而为。插件跟踪 timeoutMs 并发射 callTimedOut,但您的后端仍应在其侧重新协调丢失的呼叫。
  • 接受、拒绝和结束动作通过Capacitor监听器发回给您的应用程序,以便您的应用程序可以加入或清理真实的呼叫会话。
推荐的生产模型标题

使用Android推送或您的呼叫SDK进行传输,然后让此插件处理本机振铃UI的最后一英里。将这些责任放在插件外面:

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

从 Android 继续

标题:从 Android 继续

如果您正在使用 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 的实现细节