问题描述
在 Android 系统中,希望当某一联系人来电时能够显示用户为其输入的特定备注信息。这种备注可能如下方图片所示:
同时,这个功能需要与 Truecaller 应用的展现方式类似,展示出联系方式、姓名及位置等详细信息。
此外,方法不一定要依赖于内置应用,可以使用自定义的应用程序、Tasker 等任务调度工具来实现。并且这种解决方案不需要专门针对 VoIP 或即时通讯应用如 Signal, WhatsApp, Telegram 及 Zoom 等工作。不过需要保证:
1. 针对标准 Android 设备具有兼容性。
2. 用户可以对联系人进行备注,并且这些备注仅在该联系人来电时显示(备注不属于非联系人号码)。
3. 优先考虑开源解决方案,并且希望能够在非 root 的设备上运行。
解决方案
方案一:使用 Android 自定义应用程序
可以通过开发一个定制的 Android 应用来实现这一功能。此类应用需要集成来电监听器,当特定联系人来电时触发相应的备注显示逻辑。具体步骤如下:
- 创建一个新的 Android 项目。
- 在项目的 Manifest 文件中注册广播接收者来捕捉来电事件(
TelephonyManager.SMS_RECEIVED
和Intent.ACTION_PHONE_STATE_CHANGED
)。 - 实现一个包含所有用户定义的联系人及其备注信息的数据结构或数据库以存储数据。
- 当识别出某一具体联系人的电话号码时,从数据源中检索与该联系人的备注信息,并在来电窗口弹窗显示。
方案二:使用 Tasker
Tasker 是一个高度可定制的应用程序可以用来管理系统行为和提供自定义操作。可以利用任务创建来实现用户输入的备注在特定情况下进行展示。
- 首先安装 Tasker 软件。
- 创建一个新的 Task,名称为 “显示备注”,包括:
- 事件选项:选择来电事件,并配置指定联系人的号码或筛选规则以匹配特定联系人。
- 在该任务中创建一条操作指令来弹出备注信息。例如,可以使用 Alert 操作并设置展示内容包含联系人备注。
注意事项
- Tasker 虽然灵活但需要用户有一定的自定义行为设定知识。
- 以上方法均需获取恰当的权限(如来电拦截)以确保正确执行。
- 对于非 root 用户来说,这种方法可以被大部分手机厂商所接受,避免因过度侵入系统而遭拒。
综上所述,两种方案均有其适用范围与优势。根据用户对复杂性的把握程度和具体需求,选择最适合的实现方式来进行定制化开发或使用自动化工具如 Tasker 来设置特定场景下的来电备注显示功能。
正文完