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 点滴记录的更多相关文章

  1. android 点滴记录 ICCID IMSI IMEI MEID 关系 和 区别,相关参数在什么情况下可以获取...

    1:ICCID:Integrate circuit card identity 集成电路卡识别码(固化在手机SIM卡中) ICCID为IC卡的唯一识别号码,共有20位数字组成,其编码格式为:XXXXX ...

  2. Android学习记录(3)—Android中ContentProvider的基本原理学习总结

    一.ContentProvider简介        当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据.虽然使用其他方法也可以对外共享数据 ...

  3. Android项目记录点滴2

    1.把本机地址广播出去private void sendIP() { try { DatagramSocket dgSocket = new DatagramSocket(8989); byte[] ...

  4. Android项目记录点滴

    服务器端:(根据Apache POI库函数其中SlideShow表示PPT文档,Slide表示某一张幻灯片) 1.先把电脑中的PPT文件读入到一个字节数组中.(输入流-->字节数组-->输 ...

  5. Android Framework 记录之二

    接着上次的记录,续写. 23.services文件夹 文件 描写叙述 class AlarmManagerService extends IAlarmManager.Stub { //定时管理服务 p ...

  6. Android开发记录(转)

    一.Android模拟器相关 1. Android模拟器安装 Market 模拟器默认没有安装 Market,看到网上有较为复杂的安装方法,也有1个简单的,试了简单的,在 Android2.2 模拟器 ...

  7. mono for android 学习记录

    C#开发Android应用实战(全 扫描 中文版) 学习记录: 拖完控件后,不要急着按F5,需要重新生成,才能自动修改 Resource.Designer.cs 文件 1. Activity 是基于a ...

  8. Android学习记录:ViewPager实现欢迎页

    许多APP在第一次启动的时候,都会有welcome page.近日尝试利用ViewPager来实现Welcome Page. d0711 完成记录,跟新下载地址 =================== ...

  9. Android学习记录:界面设计

    本片文章将记录进行android界面开发时积累的知识 包括 activity全屏 activity跳转 button设计 逐个输入编辑框设计 d0710 合并旧文章总结更新 d0721 添加内容 == ...

随机推荐

  1. 学习笔记:GLSL Core Tutorial – Pipeline (OpenGL 3.2 – OpenGL 4.2)

    GLSL Core Tutorial – Pipeline (OpenGL 3.2 – OpenGL 4.2) GLSL 是一种管道,一种图形化的流水线 1.GLSL 的具体工作流程: 简化流程如下: ...

  2. vi命令的常用操作

    G:移动到底部 进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件, ...

  3. idea控制台输出乱码

    找到安装目录bin下面的idea64.exe.vmoptions,打开后在最后一行增加 -Xms128m -Xmx750m -XX:MaxPermSize=350m -XX:ReservedCodeC ...

  4. OpenGL---------光照的基本知识

    从生理学的角度上讲,眼睛之所以看见各种物体,是因为光线直接或间接的从它们那里到达了眼睛.人类对于光线强弱的变化的反应,比对于颜色变化的反应来得灵敏.因此对于人类而言,光线很大程度上表现了物体的立体感. ...

  5. [Python]网络爬虫(四):Opener与Handler的介绍和实例应用

    在开始后面的内容之前,先来解释一下urllib2中的两个个方法:info and geturl urlopen返回的应答对象response(或者HTTPError实例)有两个很有用的方法info() ...

  6. 4位开锁<dfs>

    题意: 有一个四位密码的锁,每一位是1~9的密码,1跟9相连.并且相邻的连个密码位可以交换.每改变一位耗时1s,给出锁的当前状态和密码,求最少解锁时间. 思路: 用bfs枚举出所有相邻交换的情况,并记 ...

  7. instanceof实例和prototype

    var arr=[1,3,2];alert(arr instanceof Array); 返回true: 对于继承譬如一个Drag()拖拽的继承,我想加一个限制范围的拖拽 我需要写一个新的函数 fun ...

  8. ubuntu中文论坛

    http://forum.ubuntu.org.cn/index.php?sid=e40344219c81dbc4b289135a71db4efd

  9. L9,a cold welcome

    expression: a large crowd of 一大群 in twenty minutes’time 20分钟之后 一些时间使用的介词 in two year‘s time on Satur ...

  10. struts2语法--error页面如何捕获?

    如果地址栏输入了不带后缀或者action为后缀, 不存在的页面跳转到error.jsp: struts.xml配置" <package name="default" ...