android 点滴记录
1、AndroidM环境下,在framework层添加代码会对jar包的package name进行检查,并提示”unknown package name of class file”怎么解决?
产生这个报错是因为AndroidM新添加了对framework下jar包的package name检查,解决的方法是在
build/core/tasks/check_boot_jars/package_whitelist.txt
文件中按照规则将新增代码添加到白名单
name检查的逻辑由build/core/tasks/check_boot_jars/check_boot_jars.py脚本实现
这个害我一下午,翻来拂去的找问题。甚至把out目录都删了都不行。 特别手机oem厂商,有时候需要定制,添加jar包就会出这个问题。关键是mm能过。全部编译就不过。
2、输入编辑框中,在一行先输入几个汉字,再输入多个英文字母到换行,在换行的时候,发现最后一个汉字随英文换到下一行怎么解决?
一行文字包括连续的至少两个中文字符和若干个英文字符,在换行的时候,下一行的的开始是从上一行最后两个中文字符中间断开的
举例:
如”汉字abcdefghijklmn”
换行结果是:
“汉
字abcdefghijklmn”//这就会影响正常的中文阅读
这是android 原生设计,最新的代码也是这样设计的。默认把每个汉字字符当作一个换行单元。同时其他的一些特殊符号也是
空格 / -等
都会被当作独立的换行单元实现换行
为了android系统中文使用者的用户习惯,
现在修改成:
可执行自动中英文换行,换行位置是从最后一个中文字符的后面开始,这样的话就不影响正常的中文阅读习惯
修改处在:
frameworks/base/core/java/android/text/StaticLayout.java
(j + 1 >= spanEnd || !Character.isDigit(chs[j + 1 - paraStart]))) ||
((c == CHAR_SLASH || c == CHAR_HYPHEN) &&
(j + 1 >= spanEnd || !Character.isDigit(chs[j + 1 - paraStart]))) ||
(c >= CHAR_FIRST_CJK && isIdeographic(c, true) &&
j < spanEnd && isIdeographic(chs[j - paraStart], false))) {
okWidth = w;
ok = j + 1;
这里的修改其实把换行的开始位置的检测,从start向后面移动了一位
这样修改之后的结果是(参考上述例子):
“汉字
abcdefghijklmn”//做到不影响正常的中文阅读
同样对于CJK(中日韩)这些象形文字字符都会有这个现象
3、如何设置自动获取时区默认开关?
在frameworks/base/packages/SettingsProvider/res/values/defaults.xml文件中,修改如下定义:
true
true为默认开启,false为默认关闭
4、如何设置自动旋转屏幕默认开关?
在frameworks/base/packages/SettingsProvider/res/values/defaults.xml文件中,修改如下定义:
false
true为默认开启,false为默认关闭。
5、如何修改密码解锁最大连续错误输入的密码次数?
使用密码解锁时,连续输入5次错误密码就会弹出警告并锁定输入框不能继续输入密码,并且等待一定的时间之后才能继续输入密码。
下面的修改就可以让用户连续输入10次错误密码之后才弹出警告并锁定输入框而不能输入密码
修改文件frameworks/base/core/java/com/android/internal/widget/LockPatternUtils.java
修改前:
public static final int FAILED_ATTEMPTS_BEFORE_TIMEOUT = 5;
修改后:
public static final int FAILED_ATTEMPTS_BEFORE_TIMEOUT = 10;
值得注意的是,如果修改后测试时使用模块编译进行验证,不仅需要编译该文件所在的模块frameworks/base,还需要编译frameworks/base/packages/Keyguard模块并将这个两个模块编译生成的文件push到对应的目录中去.
6、如何修改密码解锁输入错误密码次数超过限制之后限制输入的时间?
在使用密码解锁的前提下,解锁时输入错误密码次数超过限制时就会限制一段时间不能输入密码
下面的修改就可以让用户连续输入错误密码超时限制之后等待60s后才能再次输入密码
修改文件frameworks/base/core/java/com/android/internal/widget/LockPatternUtils.java
修改前:
public static final long FAILED_ATTEMPT_TIMEOUT_MS = 30000L;
修改后:
public static final long FAILED_ATTEMPT_TIMEOUT_MS = 60000L;
值得注意的是,如果修改后测试时使用模块编译进行验证,不仅需要编译该文件所在的模块frameworks/base,还需要编译frameworks/base/packages/Keyguard模块并将这个两个模块编译生成的文件push到对应的目录中去
7、如何修改图案解锁最小有效连接点个数?
在切换到图案解锁时创建图案解锁密码时至少需要连接的节点个数及进行解锁时输入的有效密码至少需要连接的节点个数默认都为4.
下面的修改就修改图案解锁在创建密码和解锁输入密码时最小连接节点个数,该修改会将最小连接节点个数从4设置为2.
修改文件frameworks/base/core/java/com/android/internal/widget/LockPatternUtils.java
修改前:
public static final int MIN_LOCK_PATTERN_SIZE = 4;
修改后:
public static final int MIN_LOCK_PATTERN_SIZE = 2;
值得注意的是,如果修改后测试时使用模块编译进行验证,不仅需要编译该文件所在的模块frameworks/base,还需要编译frameworks/base/packages/Keyguard模块并将这个两个模块编译生成的文件push到对应的目录中去
8、如何监听屏幕解锁事件?
开发后台服务的时候经常需要对屏幕状态进行判断,如果是想要监听屏幕解锁事件,可以在配置里面注册action为
android.intent.action.USER_PRESENT的广播,则可以监听解锁事件.
1、屏幕解锁时,发送广播的代码:
frameworks\base\packages\keyguard\src\com\android\keyguard\KeyguardViewMediator.java
private static final Intent USER_PRESENT_INTENT =
new Intent(Intent.ACTION_USER_PRESENT)
.addFlags(Intent.FLAG_RECEIVER_REPLACE_PENDING
| Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT);
private void sendUserPresentBroadcast() {
final UserHandle currentUser = new UserHandle(mLockPatternUtils.getCurrentUser());
mContext.sendBroadcastAsUser(USER_PRESENT_INTENT, currentUser);
}
2、在应用中注册监听解锁广播:
<receiver android:name="com.home.testscreen.MyReceiver">
<intent-filter>
<action android:name="android.intent.action.USER_PRESENT" />
</intent-filter>
</receiver>
9、如何禁用滑动解锁的menu解锁功能?
滑动解锁menu解锁功能是android的原生设计,平台4.4的版本已使用代码将该功能禁用,目前平台5.0和5.1的版本尚未禁用该功能。
如果您不想使用该功能可以使用如下修改:
修改文件frameworks/base/packages/Keyguard/res/values/config.xml
- <bool name="config_disableMenuKeyInLockScreen">false</bool>
+ <bool name="config_disableMenuKeyInLockScreen">true</bool>
10、解锁界面触摸锁图标或滑动到某一功能上会有震动反馈,其强度如何调整
修改frameworks\base\packages\keyguard\res\layout\Keyguard_glow_pad_view_uui.xml如下震动时长即可,0是不震动,数值越大震动感越强
- prvandroid:vibrationDuration="20"
+ prvandroid:vibrationDuration="4
android 点滴记录的更多相关文章
- android 点滴记录 ICCID IMSI IMEI MEID 关系 和 区别,相关参数在什么情况下可以获取...
1:ICCID:Integrate circuit card identity 集成电路卡识别码(固化在手机SIM卡中) ICCID为IC卡的唯一识别号码,共有20位数字组成,其编码格式为:XXXXX ...
- Android学习记录(3)—Android中ContentProvider的基本原理学习总结
一.ContentProvider简介 当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据.虽然使用其他方法也可以对外共享数据 ...
- Android项目记录点滴2
1.把本机地址广播出去private void sendIP() { try { DatagramSocket dgSocket = new DatagramSocket(8989); byte[] ...
- Android项目记录点滴
服务器端:(根据Apache POI库函数其中SlideShow表示PPT文档,Slide表示某一张幻灯片) 1.先把电脑中的PPT文件读入到一个字节数组中.(输入流-->字节数组-->输 ...
- Android Framework 记录之二
接着上次的记录,续写. 23.services文件夹 文件 描写叙述 class AlarmManagerService extends IAlarmManager.Stub { //定时管理服务 p ...
- Android开发记录(转)
一.Android模拟器相关 1. Android模拟器安装 Market 模拟器默认没有安装 Market,看到网上有较为复杂的安装方法,也有1个简单的,试了简单的,在 Android2.2 模拟器 ...
- mono for android 学习记录
C#开发Android应用实战(全 扫描 中文版) 学习记录: 拖完控件后,不要急着按F5,需要重新生成,才能自动修改 Resource.Designer.cs 文件 1. Activity 是基于a ...
- Android学习记录:ViewPager实现欢迎页
许多APP在第一次启动的时候,都会有welcome page.近日尝试利用ViewPager来实现Welcome Page. d0711 完成记录,跟新下载地址 =================== ...
- Android学习记录:界面设计
本片文章将记录进行android界面开发时积累的知识 包括 activity全屏 activity跳转 button设计 逐个输入编辑框设计 d0710 合并旧文章总结更新 d0721 添加内容 == ...
随机推荐
- mybatis 的一点问题
写法1: public User queryUserByUsername(String username); 写法2: public User queryUserByUsername(@Par ...
- 【jsp 练习】 给定三角形三边判断是否能组成三角形及计算面积
Test.java package package1; public class Test { double side1 = -1 , side2 = -1 , side3 = -1 , area = ...
- UVA 1193 区间相关(greedy)
input n d 1<=n<=1000 n行坐标xi,yi output 位于x轴扫描器的扫描距离为d,至少要多少个扫描器才能扫描到所有坐标 如果无法扫描完输出-1,否则输出扫描器个数 ...
- 【转】使用ThinkPHP必须掌握的调试方法
经常看到有人问到findAll的返回数据类型是什么之类的问题,以及出错了不知道什么原因的情况,其实还是没有熟悉ThinkPHP内置的调试手段和方法,抛开IDE本身自带的调试方式不说,如果你正在用或者打 ...
- jQuery仿百度帖吧头部固定不随滚动条滚动效果
<style> *{margin:0px;padding:0px;} div.nav{background:#000000;height:57px;line-height:57px;col ...
- GUI矩形、椭圆、线、框架
所有的Swing组件必须由时间调度线程(event dispatch thread)进行配置,线程将鼠标点击和键盘敲击控制转移到用户接口组件.下面的代码片段是事件调度线程中的执行代码: EventQu ...
- Android平台设计规范整理(尺寸+组成元素+字体+滑块)
转自:http://www.ui.cn/project.php?id=12394
- Oracle 使用sql创建表空间及用户
create tablespace OrcalDBNamedb datafile 'C:\OracleDBDirc\OrcalDBNamedb.dbf' size 300m; 创建用户create u ...
- ERROR CL .exe……错误
这个错误遇见了两次,一次是在装VC时,解决办法见 这个 还有一次是VS2012时,遇见了: error MSB6006: “CL.exe”已退出,代码为 -1073741515. 解决办法:Add t ...
- javascript 中{}和[] 的理解
下面的一段解释是摘抄的,基本理解正确,做个记录.其实js中数组其实就是对象,typeof(['a', 'b', 'c'])//测试之后结果为 : "object" 一.{ } 大 ...