Android 系统(165)---在apns-conf文件中配置一个read_only字段,使APN不可被编辑
EDITED + " INTEGER DEFAULT " + UNEDITED + "," +
USER_VISIBLE + " BOOLEAN DEFAULT 1);";
修改为:
EDITED + " INTEGER DEFAULT " + UNEDITED + "," +
READ_ONLY + " BOOLEAN DEFAULT 0," + //添加这一句
USER_VISIBLE + " BOOLEAN DEFAULT 1);";
2、Telephony.java中添加如下一句:
public static final String USER_VISIBLE = "user_visible";
public static final String READ_ONLY = "read_only"; //添加这句
3、在TelephonyProvider.java文件中的getRow()方法中添加如下代码
addBoolAttribute(parser, "carrier_enabled", map, CARRIER_ENABLED);
addBoolAttribute(parser, "modem_cognitive", map, MODEM_COGNITIVE);
addBoolAttribute(parser, "user_visible", map, USER_VISIBLE);
++ addBoolAttribute(parser, "read_only", map, READ_ONLY); //添加这一句
try {
// Try to update the siminfo table. It might not be there.
db.execSQL("ALTER TABLE " + SIMINFO_TABLE + " ADD COLUMN " +
SubscriptionManager.SIM_PROVISIONING_STATUS + " INTEGER DEFAULT " +
SubscriptionManager.SIM_PROVISIONED + ";");
} catch (SQLiteException e) {
if (DBG) {
log("onUpgrade skipping " + SIMINFO_TABLE + " upgrade. " +
" The table will get created in onOpen.");
}
}
oldVersion = 18 << 16 | 6;
}
++if(oldVersion < (19 << 16 | 6)){
++ try {
++ db.execSQL("ALTER TABLE " + CARRIERS_TABLE +
++ " ADD COLUMN read_only BOOLEAN DEFAULT 0;");
++ Log.d(TAG, "Update read_only column");
++ } catch (SQLException e) {
++ e.printStackTrace();
++ Log.e(TAG, "Add read_only column fail with table " + CARRIERS_TABLE + ".");
++ }
++ log("Add Read_only ");
++ oldVersion = 19 << 16 | 6;
++}
二、从数据库中读取出对应字段,并判断
1、ApnSettings.java中添加如下静态常量
private static final int SOURCE_TYPE_INDEX = 6;
++ private static final int READ_ONLY_INDEX = 7;
2、filllist()方法中修改查询条件
Cursor cursor = getContentResolver().query(
Telephony.Carriers.CONTENT_URI,
new String[] { "_id", "name", "apn", "type", "mvno_type", "mvno_match_data",
"sourcetype" }, where, null, order);
修改为:
Cursor cursor = getContentResolver().query(
Telephony.Carriers.CONTENT_URI,
new String[] { "_id", "name", "apn", "type", "mvno_type", "mvno_match_data",
"sourcetype", "read_only" }, where, null, order);
3、根据数据库中读取的值,修改APN能否被编辑的判断条件
414 /// M: for [Read Only APN]
415 pref.setApnEditable(mApnExt.isAllowEditPresetApn(type, apn, mccmnc, sourcetype));
修改为:
boolean isEdit = mApnExt.isAllowEditPresetApn(type, apn, mccmnc, sourcetype); //true 表示允许编辑
boolean isReadOnly = cursor.getInt(READ_ONLY_INDEX) < 1; //true表示允许编辑
pref.setApnEditable(isEdit && isReadOnly);
Android 系统(165)---在apns-conf文件中配置一个read_only字段,使APN不可被编辑相关推荐
- Linux内核错误(引导系统)Deepin用户手册在/etc/sysctl.conf文件中加入kernel.panic = 20,在/etc/sysctl.conf中kernel.sysrq=1内存
Linux内核错误(引导系统)- 系统管理 -Deepin深度系统用户手册 Power By Baidu Ai 00:00 00:00 目录 1 简介 2 问题分析 3 案例分析 此文章约为4327字 ...
- Android系统的分区及img文件、移植烧写过程
一.引言 本章介绍Android的几个分区,已经编译后生成的.img镜像文件,对于大家移植整个Android有一定的帮助.本人也首次接触Android,有不正确的地方,欢迎指正! 二.Android的 ...
- android中的BitMap(二)从网络和资源文件中获得一个BitMap
//取得网络上图片资源的路径 String urlstring="http://img.wallba.com/Public/Upload/Image/qichebizi/ asidunm ...
- android 读build.prop,Android系统下的build.prop文件
Android系统下的build.prop文件,用adb shell进入,再进入到system目录,查看该目录下的文件,会看到build.prop文件,用exit命令退出. 1551927518(1) ...
- android xml 小圆点,如何在android xml可绘制文件中定义一个圆形状?
8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 我有一些问题找到Android的XML的形状定义的文档.我想在XML文件中定义一个简单的填充了纯色的圆圈,将其包含到我的 ...
- 基类和派生类写在一个文件中_BootISO:从 ISO 文件中创建一个可启动的 USB 设备...
今天,我们将讨论名为 BootISO 的实用程序类似工具.它是一个简单的 bash 脚本,允许用户来从 ISO 文件中创建一个可启动的 USB 设备. -- Prakash Subramanian(作 ...
- 如何在另一个JavaScript文件中包含一个JavaScript文件?
JavaScript中是否有类似于CSS中@import的内容,可让您在另一个JavaScript文件中包含一个JavaScript文件? #1楼 而不是在运行时添加,而是使用脚本在上传之前进行串联. ...
- Tomcat在自定义xml文件中配置虚拟目录
在实际开发中,如果,经常在server.xml文件中,配置虚拟目录会有一个弊端 就是,每次修改server.xml文件之后,想要文件生效,必须重新启动Tomcat服务器 为了解决这个问题,可以采用另外 ...
- BootISO:从 ISO 文件中创建一个可启动的 USB 设备
为了安装操作系统,我们中的大多数人(包括我)经常从 ISO 文件中创建一个可启动的 USB 设备.为达到这个目的,在 Linux 中有很多自由可用的应用程序.甚至在过去我们写了几篇介绍这种实用程序的文 ...
最新文章
- 修复阻止程序安装或删除的问题
- iOS进阶之架构设计MVVM的实现示例(4)
- Autodesk 360 Mobile不能显示图片?
- android中gradle的作用,Gradle 之 Android 中的应用
- 遍历Map keySet和entrySet
- mysql 查看数据表大小_关于MySQL 查询表数据大小的总结
- UBuntu CMake工程配置基础
- 极点五笔常用操作及快捷键功能描述(v6.5)
- php获取客户端的真实IP的方法
- win10 jungo windriver
- php中x22是什么意思,我想问一下:联想s22e和x22区别哪款好用点??真实反馈一下!!...
- 210705学习笔记(cucumber@ruby)
- Sort By、Distribute By 使用说明书
- angular cli + primeNG
- 草料生成app自动下载的二维码
- SVG - 在Android中使用矢量图全攻略
- 排他思想 -- 百度换肤效果案例 以及 点击某按钮只是该按钮变色
- 空间权重矩阵与相关性检验(Stata)
- 基于FPGA的FIR调试
- 美丽链——通过买套内衣读懂“区块链”?