Android 紧急电话号码数据库

Android 包含一个紧急电话号码数据库,其中包含数据库版本号,以及带有应急服务类别(例如匪警、火警、急救)和相应国家/地区的紧急电话号码列表。此数据库在 Android 中用作识别和提供紧急电话号码的来源之一。

Android 紧急电话号码数据库
图 1. Android 紧急电话号码数据库系统

AOSP 文件

AOSP 提供的紧急电话号码数据库文件位于 packages/services/Telephony/ecc/output/eccdata。如需了解数据库内容,请阅读 packages/services/Telephony/ecc/input/eccdata.txt 中的介绍。

已下载的数据库

从 Android 11 及更高版本开始,Android 支持已下载的紧急电话号码数据库,该数据库可通过 OTA 更新进行更新。这样可确保设备能够访问最新版本的数据库和最新信息。

更新信息

如需在紧急电话号码数据库中添加或更新信息,请在网络组件中提交 bug 来提供请求的详细信息。

如果您的请求获得批准,Android 可能会更新数据库,然后您可以将其下载到设备。Android 可能还会在 AOSP 中发布对配置的紧急电话号码数据库所做的更改。

实现

实现紧急电话号码数据库

如需实现紧急电话号码数据库,请执行以下操作:

  1. 构建一个遵循紧急电话号码数据库格式的文本文件:packages/services/Telephony/ecc/conversion_toolset_v1/proto/protobuf_ecc_data.proto
  2. 使用 packages/services/Telephony/ecc/README.md 中的转换工具,将该文本文件转换为紧急电话号码数据库文件。

启用更新

如需启用已下载的紧急电话号码数据库的更新,您可以采用 OTA 更新机制来触发设备从您的服务器下载紧急电话号码数据库。在 Android 中使用分区(例如 /data/misc/emergencynumberdb)来读取和写入已下载的紧急电话号码数据库。

如需实现已下载的紧急电话号码数据库,请使用以下系统 API:

验证

如需测试已下载的紧急电话号码数据库的实现情况,请确保已下载的数据库会作为 getEmergencyNumberList 结果的一部分返回,并且在调用 isEmergencyNumber 时,平台会将号码识别为紧急电话号码。