Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3427820
  • 博文数量: 864
  • 博客积分: 14125
  • 博客等级: 上将
  • 技术积分: 10634
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-27 16:53
个人简介

https://github.com/zytc2009/BigTeam_learning

文章分类

全部博文(864)

文章存档

2023年(1)

2021年(1)

2019年(3)

2018年(1)

2017年(10)

2015年(3)

2014年(8)

2013年(3)

2012年(69)

2011年(103)

2010年(357)

2009年(283)

2008年(22)

分类: Java

2010-11-16 11:49:45

一.Android 开机动画

1.     介绍

android开机画面由三部分组成,第一部分在bootloader启动时显示,第二部分在启动kernel时显示,第三部分在系统启动时(bootanimation)显示(动画)

2.     bootloader开机图片

1)         一般使用rle格式图片,不同的android系统不同此图片可能放在不同位置,以下实例均以G1为例,G1放在splash分区中

2)         制作rle格式开机图片

a)          将图片转成320x480256色,保存成不带Alpha通道的png格式

b)         使用convert工具将splash.png转换成8位色的splash.raw
convert splash.png -depth 8 rgb:splash.raw
确认splash.raw大小为460800字节

c)          使用android工具rgb2565改变图像格式
out/host/linux-x86/bin/rgb2565 < splash.raw > splash.raw565
确认splash.raw565大小为307200字节

3)         烧写(以G1为例)
Power+Camera启动到烧写模式
fastboot flash splash1 splash.raw565

3.     kernel开机图片

1)         相关代码
kernel/drivers/video/msm/msm_fb.c
G1使用高通芯片组MSM7201芯片组)
它会读出根目录下的xx.rle,并显示为开机画面,rle做法同上

4.     bootanimation开机动画

1)         android 2.0之前

a)          说明
使用bootanimation程序显示开机画面,如需修改开机画面,需要修改源码

b)         代码
frameworks/base/cmds/bootanimation/*
frameworks/base/core/res/assets/images/android-logo*

2)         android 2.0及之后

a)          说明
使用bootanimation程序显示开机画面,如需修改开机画面,不用修改代码,只需按格式要求做bootanimation.zip包,放在系统的/system/media目录中,或/data/local目录中即可,两个目录下都存在时,优先使用/data/local下的

b)         代码
frameworks/base/cmds/bootanimation/*
frameworks/base/core/res/assets/images*

c)          制作动画包

                                       i.              描述文件desc.txt
480 427 30
p 1 0 part0 
p 0 10 part1 
总体说明:480为宽度,427为高度,30为帧数,即每秒播放动画30

部分说明:第一项p为标志符,第二项为循环次数1为只播放1次,0为无限循环,第三项为两次循环之间间隔的帧数,第四项为对应的目录名

                                      ii.              图片
图片放在desc.txt中目录名指定的目录中,目录中按字符顺序播放

                                    iii.              打包

²         windows
使用winrar找包,选择ZIP格式,压缩标准要选储存

²         linux
zip -0 -r ../bootanimation.zip ./*
linux
命令使用-0指定压缩等级为最低等级stored,即只归档不压缩,否则可能由于包格式问题引起动画显示为黑屏

²         注意
打包不要带上层目录

5.     参考

1)         bootanimation相关
http://blog.21ic.com/user1/2537/archives/2009/65606.html

2)         rle文件制作
http://hi.baidu.com/kernel_linux/blog/item/9eff140f9d089c206159f3cb.html

3)         bootloader启动
http://blog.csdn.net/yili_xie/archive/2010/05/14/5592276.aspx

二.Android手机防止休眠

实现这一功能的方法有两种,一种是在Manifest.xml文件里面声明,一种是在代码里面修改LayoutParams的标志位。具体如下:

  1、在Manifest.xml文件里面用user-permission声明。代码如下:

  

  1. < uses-permission android:name=”android.permission.WAKE_LOCK” >  
  2.   < /uses-permission >  
 

  这种方法,在安装apk时,系统会提示安装人是否允许使用禁止休眠功能。

  2、在程序中用代码实现。代码如下:

  1. getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);  
 

  把这段代码加在setContentView(R.layout.main)之前即可

  这种方法,安装时,不会提示安装人是否允许使用禁止休眠功能

阅读(890) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~