摘要: Android电源管理一、相关概念1.出于节电的需要,一般应用在用户一段时间无操作的情况下屏幕变暗,然后进后休眠状态2.用户只能在”设置->声音和显示”中设置所有应用默认的屏幕亮度和进行待机的时间3.电源管理的实现分内核应用两部分,通过下面介绍的接口,我们可以设置应用程序的电源管理,以控制与其休眠相关的状态(是否需要进入休眠,调整cpu频率,键盘灯的开关,屏幕的亮暗等)二、设置电源管理常用的几种状态PARTIAL_WAKE_LOCK屏幕关,键盘灯关,不休眠SCREEN_MID_WAKE_LOCK屏幕灰,键盘灯关,不休眠SCREEN_BRIGHT_WEEK_LOCK屏幕亮,键盘灯关,不休眠 阅读全文
posted @ 2011-07-26 16:08 SimonShi 阅读(1251) 评论(0) 推荐(0) 编辑
摘要: 附加说明;有时候android系统不识别route 命令,则在命令前加个“ip”就可以了,具体原因知道是啥 么?知道的朋友请回个帖子,谢谢了。查看路由表:cat /proc/net/route增加一条路由:ip route add 10.0.0.2/32 dev tiwlan0删除一条路由:ip route del 10.0.0.2/32Linux中增加软路由的三种方法Linux中增加软路由的三种方法,第一种:route add -net 172.16.6.0 netmask 255.255.255.0 gw 172.16.2.254 dev eth0/* 增加一条网络172.16.6.0/2 阅读全文
posted @ 2011-05-31 18:35 SimonShi 阅读(30219) 评论(1) 推荐(0) 编辑
摘要: frameworks/policies/base/phone/com/arndroid/internal/policy/impl/ShutdownThread.java 阅读全文
posted @ 2011-03-03 20:00 SimonShi 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 一、Audio系统综述 Audio系统主要分成如下几个层次: (1)media库提供的Audio系统的上层接口; (2)AudioFlinger作为Audio系统的中间层; (3)Audio的硬件抽象层提供底层支持; (4)Audio接口通过JNI和Java框架提供给上层。 Audio系统的各个层次接口主要提供了两方面功能:放音(Track)和录音(Recorder)。 在Android的Audio系统中,无论上层还是下层,都使用一个管理类和输出输入两个类来表示整个Audio 系统,输出输入两个类负责数据通道。二、Audio框架分析 1、Audio的Java部分 代码路径:frameworks 阅读全文
posted @ 2011-02-28 19:24 SimonShi 阅读(2146) 评论(0) 推荐(0) 编辑
摘要: 一、Camera概述 1、Camera的JAVA程序的路径: packages/apps/Camera/src/com/android/camera/ 其中Camera.java是主要实现的文件 frameworks/base/core/java/android/hardware/Camera.java 这个类是和JNI中定义的类是一个,有些方法通过JNI的方式调用本地代码得到,有些方法自己实 现。 2、Camera的JAVA本地调用部分(JNI): frameworks/base/core/jni/android_hardware_Camera.cpp 主要的头文件在以下的目录中: fram 阅读全文
posted @ 2011-02-28 19:22 SimonShi 阅读(2963) 评论(0) 推荐(0) 编辑
摘要: 一、WIFI的基本架构 1、wifi用户空间的程序和库: external/wpa_supplicant/ 生成库libwpaclient.so和守护进程wpa_supplicant。 2、hardware/libhardware_legary/wifi/是wifi管理库。 3、JNI部分: frameworks/base/core/jni/android_net_wifi_Wifi.cpp 4、JAVA部分: frameworks/base/services/java/com/android/server/ frameworks/base/wifi/java/android/net/wifi 阅读全文
posted @ 2011-02-28 19:16 SimonShi 阅读(7780) 评论(0) 推荐(0) 编辑
摘要: 前文介绍了利用/dev/i2c-0在应用层完成对i2c设备的操作,但很多时候我们还是习惯为i2c设备在内核层编写驱动程序。目前内核支持两种编写i2c驱动程序的方式。下面分别介绍这两种方式的实现。这里分别称这两种方式为“Adapter方式(LEGACY)”和“Probe方式(new style)”。(1) Adapter方式(LEGACY)(下面的实例代码是在2.6.27内核的pca953x.c基础上修改的,原始代码采用的是本文将要讨论的第2种方式,即Probe方式)●构建i2c_driverstatic struct i2c_driver pca953x_driver = {.driver = 阅读全文
posted @ 2011-02-24 09:29 SimonShi 阅读(20422) 评论(0) 推荐(2) 编辑
摘要: 转自:http://wallage.blog.163.com/blog/static/17389624201032141818282/JNI是Java Native Interface的缩写,译为Java本地接口。它允许Java代码和其他语言编写的代码进行交互。在android中提供JNI的方式,让Java程 序可以调用C语言程序。android中很多Java类都具有native接口,这些接口由本地实现,然后注册到系统中。 主要的JNI代码放在以下的路径中:frameworks/base/core/jni/,这个路径中的内容被编译成库 libandroid_runtime.so,这是个普通的动 阅读全文
posted @ 2011-01-25 20:30 SimonShi 阅读(9326) 评论(0) 推荐(0) 编辑
摘要: 作者:徐建祥(netpirate@gmail.com)日期:2009/11/05网址:http://www.anymobile.org1.1 通过com.android.settings.WirelessSettings打开飞行模式;1.1.1 设置飞行模式值;Settings.System.putInt(mContext.getContentResolver(), Settings.System.AIRPLANE_MODE_ON, enabling ? 1 : 0);1.1.2 发出Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED)。AirplaneMod 阅读全文
posted @ 2011-01-25 20:23 SimonShi 阅读(3504) 评论(1) 推荐(0) 编辑
摘要: #pragma pack(push)#pragma pack(1)#include "OldData.h"#pragma pack(pop)表示"OldData.h"中结构对其按一字节对齐。例如:struct{ byte b1;float f1;};如果pragma pack(1)则sizeof为5如果pragma pack(4)则sizeof为8 阅读全文
posted @ 2010-12-29 10:42 SimonShi 阅读(258) 评论(0) 推荐(0) 编辑