AndroidFramework
文章平均质量分 73
漆黑迷夜
码农
展开
-
Android输入系统笔记
InputDispatcher的线程循环由InputDispatchr::diapatchOnce()完成InputDispatcher::diapatchOnce(){1、通过dispatcherInnerOnceLocked()进行输入事件的派发,其传出参数nextWeakupTime决定下次派发线程的循还执行时间2、执行命令队列中的命令,可以通过InputDispatch原创 2017-08-24 17:45:42 · 473 阅读 · 0 评论 -
Androidframework LocationManager笔记
LocationManagerService.java extends ILocationManager.Stubpublic LocationManagerService(Context context) {super();mContext = context;mAppOps = (AppOpsManager)context.getSystemService(Contex原创 2017-09-30 18:00:34 · 1898 阅读 · 0 评论 -
SystemUI笔记 SystemBars
//SystemBars.java(通知栏) : @Overridepublic void start() {if (DEBUG) Log.d(TAG, "start");mServiceMonitor = new ServiceMonitor(TAG, DEBUG,mContext, Settings.Secure.BAR_SERVICE_COMPONENT, this);原创 2017-09-30 14:07:25 · 707 阅读 · 0 评论 -
zygote启动流程
//通过cmd命令,来fork新进程执行类中的main()方法: app_process [可选参数] 命令所在路径 启动的类名 [可选参数]init.zygote32.rc(system/core/rootdir)service zygote /system/bin/app_process(可执行程序所在的目录) -Xzygote(虚拟机参数,在启动虚拟机原创 2017-10-17 17:08:23 · 449 阅读 · 0 评论 -
SystemUI PoweUI笔记
private final Receiver mReceiver = new Receiver();//PowerUI:电源管理,继承SystemUI,调用start方法启动public void start() {//获取PowerManager对象,该类主要用于控制电源状态,处理和power相关的业务mPowerManager = (PowerManager) mContext原创 2017-09-29 12:01:04 · 319 阅读 · 0 评论 -
SystemUI RingtonePlayer
//RingtonePlayer.java:继承SystemUI类,启动时调用start()方法private IRingtonePlayer mCallback = new IRingtonePlayer.Stub() {//播放音乐public void play(IBinder token, Uri uri, AudioAttributes aa, float volume, b原创 2017-09-29 11:59:06 · 585 阅读 · 0 评论 -
SystemUI VolumeService
//当手机设备当前活动窗口在Launcher桌面,Launcher没有对音量事件做拦截操作,音量键事件将会在PhoneWindow中被消化。protected boolean onKeyDown(int featureId, int keyCode, KeyEvent event) {final KeyEvent.DispatcherState dispatcher =mDecor !原创 2017-09-29 10:50:57 · 434 阅读 · 0 评论 -
Android笔记 TelephonyRegistry
class TelephonyRegistry extends ITelephonyRegistry.Stub { // 不向上层APP公开的接口 public void addOnSubscriptionsChangedListener(); // 不向上层APP公开的接口 public void removeOnSubscriptionsChangedL原创 2017-09-28 09:19:12 · 422 阅读 · 0 评论 -
Android笔记 SystemServer
private static boolean startSystemServer(String abiList, String socketName)throws MethodAndArgsCaller, RuntimeException {...//参数准备String args[] = {"--setuid=1000","--setgid=1000","--setg原创 2017-09-27 15:38:55 · 268 阅读 · 0 评论 -
Android VibratorService
//振动一次public void vibrate(int uid, String opPkg, long milliseconds, int usageHint,IBinder token) {//检测调用者APP是否有android.Manifest.permission.VIBRATE这个权限,所以APP要使用震动服务,需要在AndroidManifest.xml中声明权限/原创 2017-09-26 16:08:07 · 676 阅读 · 0 评论 -
Init进程笔记
init.cpp//init进程启动的起点int main(int argc, char** argv) { ... umask(0);//设置文件属性0777 add_environment("PATH", _PATH_DEFPATH); bool is_first_stage = (argc == 1) || (strcmp(argv[1], "原创 2017-10-20 14:17:06 · 273 阅读 · 0 评论