android学习笔记14 - android.os包:系统功能调用和系统参数获取

来源:互联网 发布:windows socket 知乎 编辑:程序博客网 时间:2024/05/17 01:14

android.os包中包含了系统参数的获取和系统功能的调用,以下介绍4个其中常用的包的调用:

1.android.os.Build 

Build.BOARD // 主板  

Build.BRAND // android系统定制商  
Build.CPU_ABI // cpu指令集  
Build.DEVICE // 设备参数  
Build.DISPLAY // 显示屏参数  
Build.FINGERPRINT // 硬件名称  
Build.HOST  
Build.ID // 修订版本列表  
Build.MANUFACTURER // 硬件制造商  
Build.MODEL // 版本  
Build.PRODUCT // 手机制造商  
Build.TAGS // 描述build的标签  
Build.TIME  
Build.TYPE // builder类型  
Build.USER  


2.android.os.Build.VERSION 

// 当前开发代号  
Build.VERSION.CODENAME  
// 源码控制版本号  
Build.VERSION.INCREMENTAL  
// 版本字符串  
Build.VERSION.RELEASE  
// 版本号  
Build.VERSION.SDK  
// 版本号  
Build.VERSION.SDK_INT  


3.android.os.SystemClock

SystemClock.currentThreadTimeMillis(); // 在当前线程中已运行的时间  
SystemClock.elapsedRealtime(); // 从开机到现在的毫秒书(手机睡眠(sleep)的时间也包括在内)  
SystemClock.uptimeMillis(); // 从开机到现在的毫秒书(手机睡眠的时间不包括在内)  
SystemClock.sleep(100); // 类似Thread.sleep(100);但是该方法会忽略InterruptedException  

//设置时钟的时间,和System.setCurrentTimeMillis类似,其中因为SystemClock的setCurrentTimeMillis 的permission是signatureOrSystem等级的,直

//接使用user-permission没有作用,设置的格式是毫秒,然后对年月日进行转换。
SystemClock.setCurrentTimeMillis(1000);   

// 计算时间间隔  

long starttime=SystemClock.uptimeMillis();
long timeInterval = SystemClock.uptimeMillis() - starttime; 


4.android.os.PowerManager 

// PowerManager的一般用法,请求和释放唤醒锁  
PowerManager powerMgr = (PowerManager) getSystemService(Context.POWER_SERVICE);  
int flags = PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP;  
WakeLock wakeLock = powerMgr.newWakeLock(flags, "for debug purpose tag");  
wakeLock.acquire(); // 获取唤醒锁  
wakeLock.release(); // 释放唤醒锁  
// 在游戏中,会将acquire放在onResume中;将release放在onPause,这样在程序运行时就可以保持屏幕常量;在程序处在后台时,就恢复原来的设置。  
// PowerManager的其它api的使用  
powerMgr.goToSleep(SystemClock.uptimeMillis() + 100); // 100ms后进入睡眠  
powerMgr.isScreenOn(); // 屏幕是否亮着  
powerMgr.userActivity(SystemClock.uptimeMillis()+100, true); // 相当于按home键,会引起从睡眠激活  
// WakeLock的其它api  
wakeLock.acquire(1000); // 获取唤醒锁,并在1000ms后释放  
wakeLock.isHeld(); // 当前是否持有唤醒锁  
// 是否使用引用计数,默认是启用的。引用计数应该就是第一次请求为1,第二次加1,再一次再加1。  
// 在释放时,只有引用计数为0时才被视为完全释放(所以要多次调用release)  
wakeLock.setReferenceCounted(true);   

0 0
原创粉丝点击