1月 262016
 
文件路径:frameworks\base\core\java\android\util\NtpTrustedTime.java
Review代码发现时间更新采用的服务器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public static synchronized NtpTrustedTime getInstance(Context context) {
    if (sSingleton == null) {
        final Resources res = context.getResources();
        final ContentResolver resolver = context.getContentResolver();
        final String defaultServer = res.getString(
            com.android.internal.R.string.config_ntpServer);
        final long defaultTimeout = res.getInteger(
            com.android.internal.R.integer.config_ntpTimeout);
        final String secureServer = Settings.Secure.getString(
            resolver, Settings.Secure.NTP_SERVER);
        final long timeout = Settings.Secure.getLong(
            resolver, Settings.Secure.NTP_TIMEOUT, defaultTimeout);
        final String server = secureServer != null ? secureServer : defaultServer;
            sSingleton = new NtpTrustedTime(server, timeout);
        }
    return sSingleton;
}
NTP Server的地址来源与两个方面
1.用户设置Settings.Secure.NTP_SERVER
2.系统默认设置com.android.internal.R.string.config_ntpServer

Continue reading »

1月 242016
 

买了个显示器接上CB4,不过由于一点小失误导致屏幕无法正放,只能上下颠倒才能够插上lvds线。
于是只能想办法把系统默认显示方向改成旋转180度。

网上搜到一份修改4.1和4.2屏幕方向的方法,可惜4.4所有的文件或函数都变了。好在从这位网友的文章里还是能看出大致思路,最终还是顺利找到几个文件,改完编译验证过所有界面都已经旋转180度,并且触摸屏也能够如常使用,没有出现上下颠倒。

步骤如下: Continue reading »

10月 032015
 

最近项目需要通过CC-A80访问串口,读取hid卡的数据。正好利用国庆研究了下,CC-A80外部针脚有2个uart口,分别是uart4、uart5。对应设备路径是/dev/ttyS4、/dev/ttyS5,其中uart4支持4线通讯。

我主要介绍如何在源码中开通串口访问权限。如果需要详细了解硬件信息,可以搜索下全志的《uart使用说明》——虽说我没找到A80的,不过A20的还是可以找到作为参考的。

Continue reading »

10月 032015
 

安卓的触摸屏,目前主要有2个方式驱动:一种是以hid设备的形式,另一种是作为touchscreen注册。对于2者区别,时间关系我没有仔细研究,不过我估计touchscreen可以支持的动作更多,多点支持更好吧。
我这次买了一个hid的设备,驱动的路径就是lichee/drviers/hid/。如果是touchscreen的话,就是lichee/drviers/input/touchscreen/

驱动添加步骤如下: Continue reading »

1月 182014
 

Nexus 7升级到官方4.2后,很多童鞋找不到USB调试这一选项,以致无法打开开发者模式。
其实很简单,打开设置–关于平板电脑–版本号(这个狂戳),只要狂点版本号这里,然后就会看到开发者选项的提示出现,这个时候返回上一级我们就能看到开发者选项,点击进入就可以选择USB调试了…

谷歌工程师的恶趣味= =!

 

9月 272012
 

前言
这里积累了一些不常见确又很实用的代码,每收集7条更新一次,希望能对大家有用。

声明
欢迎转载,但请保留文章原始出处:)
博客园:http://www.cnblogs.com
农民伯伯: http://over140.cnblogs.com

正文
1、 精确获取屏幕尺寸(例如:3.5、4.0、5.0寸屏幕)

1
 public static double getScreenPhysicalSize(Activity ctx) { DisplayMetrics dm = new DisplayMetrics(); ctx.getWindowManager().getDefaultDisplay().getMetrics(dm); double diagonalPixels = Math.sqrt(Math.pow(dm.widthPixels, 2) + Math.pow(dm.heightPixels, 2)); return diagonalPixels / (160 * dm.density); }

一般是7寸以上是平板

 2、 判断是否是平板(官方用法)

1
 public static boolean isTablet(Context context) { return (context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE; }

3、 文字根据状态更改颜色 android:textColor

1
 <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:color="#53c1bd" android:state_selected="true"/> <item android:color="#53c1bd" android:state_focused="true"/> <item android:color="#53c1bd" android:state_pressed="true"/> <item android:color="#777777"/> </selector>

放在res/color/目录下 Continue reading »

 Posted by at 09:51