打开APP
未登录
开通VIP,畅享免费电子书等14项超值服
开通VIP
首页
好书
留言交流
下载APP
联系客服
android.os包中一些类的使用
w_hf的图书馆
>《Android》
2012.05.02
关注
android.os包中一些类的使用
博客分类:
android
Build
Build.VERSION
SystemClock
android.os.Build
Java代码
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
// 运行结果
/*
board: unknown
brand: generic
cpu abi: armeabi
device: generic
display: google_sdk-eng 2.1 ERD79 22607 test-keys
finger print: generic/google_sdk/generic/:2.1/ERD79/22607:eng/test-keys
host: genki.mtv.corp.google.com
id: ERD79
manufacturer: unknown
model: google_sdk
product: google_sdk
tags: test-keys
time: 1261185425000
type: eng
user: android-build
*/
Build.VERSION
Java代码
// 当前开发代号
Build.VERSION.CODENAME
// 源码控制版本号
Build.VERSION.INCREMENTAL
// 版本字符串
Build.VERSION.RELEASE
// 版本号
Build.VERSION.SDK
// 版本号
Build.VERSION.SDK_INT
// 结果
/*
REL
22607
2.1
7
7
*/
// Build.VERSION.SDK_INT可与switch搭配用
switch
(Build.VERSION.SDK_INT) {
case
Build.VERSION_CODES.BASE:
// 1.0
break
;
case
Build.VERSION_CODES.BASE_1_1:
// 1.1
break
;
case
Build.VERSION_CODES.CUPCAKE:
// 1.5
break
;
case
Build.VERSION_CODES.CUR_DEVELOPMENT:
// current dev version
break
;
case
Build.VERSION_CODES.DONUT:
// 1.6
break
;
case
Build.VERSION_CODES.ECLAIR:
// 2.0
break
;
case
Build.VERSION_CODES.ECLAIR_0_1:
// 2.0.1
break
;
case
Build.VERSION_CODES.ECLAIR_MR1:
// 2.1
break
;
}
android.os.SystemClock
文档中对System.currentTimeMillis()进行了相应的描述,就是说它不适合用在需要时间间隔的地方,如Thread.sleep, Object.wait等,因为可以通过System.setCurrentTimeMillis来改变它的值。
要用时间间隔,推荐使用SystemClock中的相关方法。
Java代码
SystemClock.currentThreadTimeMillis();
// 在当前线程中已运行的时间
SystemClock.elapsedRealtime();
// 从开机到现在的毫秒书(手机睡眠(sleep)的时间也包括在内)
SystemClock.uptimeMillis();
// 从开机到现在的毫秒书(手机睡眠的时间不包括在内)
SystemClock.sleep(
100
);
// 类似Thread.sleep(100);但是该方法会忽略InterruptedException
SystemClock.setCurrentTimeMillis(
1000
);
// 设置时钟的时间,和System.setCurrentTimeMillis类似
// 时间间隔
long
timeInterval = SystemClock.uptimeMillis() - lastTime;
// do something with timeInterval
android.os.PowerManager
PowerManager的flag的意思:
Java代码
// 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
);
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报
。
打开APP,阅读全文并永久保存
查看更多类似文章
猜你喜欢
类似文章
【热】
打开小程序,算一算2024你的财运
Power Management
Android系统休眠对程序的影响以及处理
Android在标准linux基础上对休眠唤醒的实现(三)
android 传感器类 sensor
Android应用程序保持后台唤醒(使用WakeLock实现)
如何获得Android系统版本
更多类似文章 >>
生活服务
热点新闻
留言交流
回顶部
联系我们
分享
收藏
点击这里,查看已保存的文章
导长图
关注
一键复制
下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!
联系客服
微信登录中...
请勿关闭此页面
先别划走!
送你5元优惠券,购买VIP限时立减!
5
元
优惠券
优惠券还有
10:00
过期
马上使用
×