Android includes an emergency number database that contains a database version number and a list of emergency phone numbers with emergency service categories (for example, police, fire, ambulance) and a corresponding country. This database is one of the sources for identifying and providing emergency numbers in Android.
AOSP file
AOSP provides an emergency number database file located in
packages/services/Telephony/ecc/output/eccdata
. The content of the database
can be read in packages/services/Telephony/ecc/input/eccdata.txt
.
Downloaded database
From Android 11 and higher, Android supports a downloaded emergency number database that can be updated through OTA updates. This ensures that devices have access to the latest version of the database and the latest information.
Update information
To add or update information in the emergency number database, provide the details of your request by filing a bug in the Networking component.
If your request is approved, Android may update the database and you may then download to devices. Android may also publish the changes to the configured emergency number database in AOSP.
Implementation
Implement an emergency number database
To implement an emergency number database:
- Construct a text file that follows the emergency number database format:
packages/services/Telephony/ecc/conversion_toolset_v1/proto/protobuf_ecc_data.proto
. - Convert the text file to an emergency number database file using the
conversion tool at
packages/services/Telephony/ecc/README.md
.
Enable updates
To enable updates to the downloaded emergency number database, adopt an OTA
update mechanism to trigger the device to download the emergency number database
available from your server. Use a partition, such as
/data/misc/emergencynumberdb
, to read and write the downloaded emergency
number database in Android.
To implement the downloaded emergency number database, use the following system APIs:
Validation
To test your implementation of the downloaded emergency number database, make
sure the downloaded database is returned as a part of the result of
getEmergencyNumberList
,
and the numbers are identified as emergency numbers when
isEmergencyNumber
is called.