您的位置:首页 > 移动开发 > Android开发

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

2015-11-26 14:41 459 查看
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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: