android 系统(155)---如何自己添加号码归属地数据库?
1. 在如下目录增加 GeoCodingQueryEN.java
PATH: [4.2 JB] alps\mediatek\frameworks-ext\base\telephony\java\com\android\internal\telephony\
[4.4 KK] alps\mediatek\frameworks\base\geododing\java\com\mediatek\Geocoding\
主要负责打开 geocoding_en.db 后 query 号码归属地。
GeoCodingQueryEN.java 参考 GeoCodingQuery.java 而来。
2. 添加一个归属地数据库 geocoding_en.db
PATH: alps\mediatek\external\GeoCoding\
手机号码英文版归属地geocoding_en.db 参考中文版而来。
在同目录下的Android.mk中增加数据库,如下:
LOCAL_PATH:= mediatek/external/GeoCoding PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/geocoding.db:system/etc/geocoding.db \
$(LOCAL_PATH)/geocoding.db:system/etc/geocoding_en.db
3. 在CallerInfo.java 和 DefaultCallLogInsertionHelper.java 中调用 GeoCodingQueryEN 的 queryByNumberforEn() 方法查归属地
import com.android.internal.telephony.GeoCodingQueryEN; // For EN version
... ...
GeoCodingQueryEN gcQuery = GeoCodingQueryEN.getInstance(mContext);
String geoInfo = gcQuery.queryByNumberforEn(number);
if (!TextUtils.isEmpty(geoInfo)) {
return geoInfo;
}
... ...
NOTE:
protected void onQueryComplete(int token, Object cookie, Cursor cursor) {
Rlog.d(LOG_TAG, "##### onQueryComplete() ##### query complete for token: " + token);
.......
if (ENABLE_UNKNOWN_NUMBER_GEO_DESCRIPTION) {
if (TextUtils.isEmpty(mCallerInfo.name) ||
(SystemProperties.get("ro.mtk_phone_number_geo").equals("1"))) {
mCallerInfo.updateGeoDescription(mContext, cw.number);
}
}
......
}
/frameworks/base/telephony/java/com/android/internal/telephony/CallerInfo.java
public void updateGeoDescription(Context context, String fallbackNumber) {
String number = TextUtils.isEmpty(phoneNumber) ? fallbackNumber : phoneNumber;
geoDescription = getGeoDescription(context, number);
}
//在下面的函数中对传人的number的这个号码做相应的客制化。
private static String getGeoDescription(Context context, String number) {
if (VDBG) Rlog.v(TAG, "getGeoDescription('" + number + "')...");
if (TextUtils.isEmpty(number)) {
return null;
}
/// M: CC: Query city name via GeoCodingQuery @{
// [ALPS00286530]Query Geocoding description
if (SystemProperties.get("ro.mtk_phone_number_geo").equals("1")) {
GeoCodingQuery geoCodingQuery = GeoCodingQuery.getInstance(context);
String cityName = geoCodingQuery.queryByNumber(number);
Rlog.v(TAG, "[GeoCodingQuery] cityName = " + cityName);
if ((cityName != null) && (!cityName.equals(""))) {
return cityName;
}
}
/// @}
PhoneNumberUtil util = PhoneNumberUtil.getInstance();
PhoneNumberOfflineGeocoder geocoder = PhoneNumberOfflineGeocoder.getInstance();
Locale locale = context.getResources().getConfiguration().locale;
String countryIso = getCurrentCountryIso(context, locale);
PhoneNumber pn = null;
try {
if (VDBG) Rlog.v(TAG, "parsing '" + number
+ "' for countryIso '" + countryIso + "'...");
pn = util.parse(number, countryIso);
if (VDBG) Rlog.v(TAG, "- parsed number: " + pn);
} catch (NumberParseException e) {
Rlog.d(TAG, "getGeoDescription: NumberParseException for incoming number '"
+ number + "'");
}
if (pn != null) {
String description = geocoder.getDescriptionForNumber(pn, locale);
if (VDBG) Rlog.v(TAG, "- got description: '" + description + "'");
return description;
} else {
return null;
}
}
android 系统(155)---如何自己添加号码归属地数据库?相关推荐
- Android 系统(275)---紧急号码的管理及客制化方法
紧急号码的管理及客制化方法 [Android Version] Android 5.0/5.1 (L) Android 6.0 (M) Android 7.0(N) Android 8.0(O) L及 ...
- android系统证书导入工具,添加Fiddler/Mitmproxy证书为安卓系统证书
Android证书分为"用户证书"和"系统证书"两种,在设置->安全->"查看安全证书"列表中,可以看到"系统&quo ...
- android系统源码中添加app源码(源码部署移植)
涉及到系统定制,需要在系统中加入自己的apk工程,但是上网找了很多资料都是不够全面的,或者看了还是没搞懂,我自己也是一点点摸索过来的,花了不少的时间,也是踩了不少的坑,因此特开一文,帮助大家渡河. 申 ...
- Android 系统默认铃声修改 添加删除铃声
Android 7.0 修改系统默认铃声: build\target\product\full_base.mk ro.config.ringtone=14_Snowflakes.ogg \ ro.co ...
- Android 系统(151)----添加开关机铃声
一.制作bootanimation.zip(windows)和准备开机铃声bootaudio.mp3 1.新建文件夹:bootanimation 2.在文件夹bootanimation中新建文件夹pa ...
- [android] 手机卫士号码归属地查询
使用小米号码归属地数据库,有两张表data1和data2 先查询data1表,把手机号码截取前7位 select outkey from data1 where id="前七位手机号&quo ...
- 【Android从零单排系列一】《Android系统发展史》
目录 前言 一.Android 创始人 二.Android 发展历程 三.Android各版本发布时间及特性 1.AndroidBeta:阿童木 2.Android 1.0:发条机器人 3.Andro ...
- 最新手机号段归属地数据库 2019年6月版 430826条记录
2019年6月1日版 430826条记录 最新 手机号段数据库 号码归属地数据库 移动号段 联通号段 电信号段 170 171 号段(虚拟运营商) 权威 全面 准确 规范 字段包括 省份 城市 运营商 ...
- mysql手机号段地区库_最新手机号段归属地数据库 2019年12月版 441831条记录
2019年12月1日版 441831条记录 最新 手机号段数据库 号码归属地数据库 移动号段 联通号段 电信号段 170 171 号段(虚拟运营商) 权威 全面 准确 规范 字段包括 省份 城市 运营 ...
最新文章
- win7 计算机不显示收藏夹,Win7电脑收藏夹不能用怎么解决?Win7电脑收藏夹不能用解决方法...
- 排序算法----快速排序(数组形式)
- sysctl mysql_服务器优化——Sysctl、Apache、MySQL
- java 文件读写demo
- python 文件操作 os.listdir() 遍历文件
- nginx配置ajax请求跨域
- 自动运维_无Agent自动化运维平台spug
- [转]Hadoop集群_WordCount运行详解--MapReduce编程模型
- maven上传jar到私服
- Python + Selenium + Chrome 使用代理 auth 的用户名密码授权
- 树形动态规划 java_树形动态规划
- JavaScript中变量的类型
- 电商时代,谁是手持数据采集巴枪的终结者【转】
- 海湾汉字编码表全部_汉字编码简明对照表
- 数据中心服务器巡检方案,IDC机房巡检方案
- vmware虚拟机桥接模式无法上网
- 找出直系亲属 牛客网
- 你们公司的产品[zhuan]
- android相框_如何将旧的Android平板电脑变成自动更新的数码相框
- FFmpeg源码分析:内存管理系统