发明名称 一种Android中支持双摄像头的方法
摘要 本发明提供了一种简单高效的Android 2.1版本中支持双摄像头的方法,可以应用于使用该系统并需要双摄像头支持的智能手机、平板电脑等电子产品。包括如下步骤:增加偏好设置资源;应用获取系统权限;增加配置文件键值对;硬件抽象层获取设置;应用监听并改变设置。本发明通过利用Android系统现有的数据存储机制和属性系统,既能实现对Android 2.1版本的双摄像头的支持,也无需改动原有的框架代码,实现起来非常方便和高效。而且这种实现方法的原理机制在Android的主流版本都是支持的,因此不受目前的Android版本的限制,乃至在后续的版本中仍然可以继续得到使用。
申请公布号 CN102147725A 申请公布日期 2011.08.10
申请号 CN201110076732.5 申请日期 2011.03.29
申请人 福州瑞芯微电子有限公司 发明人 童波
分类号 G06F9/44(2006.01)I 主分类号 G06F9/44(2006.01)I
代理机构 福州市鼓楼区京华专利事务所(普通合伙) 35212 代理人 翁素华
主权项 一种Android中支持双摄像头的方法,其特征在于:包括如下步骤:步骤一:增加偏好设置资源:$CAM_PACK/res/xml/camera_preferences.xml中记录了需要记录的一些配置参数的字符串和数组资源,实现双摄像头只要在原基础上增加一个新参数‑当前正在使用的摄像头的朝向,来表明当前正在使用的是双摄像头中的哪一个,为当前使用摄像头的朝向信息添加新的ListPreference作为其中一个配置;其中,数组资源需要在$CAM_PACK/res/values/arrays.xml中定义,字符串资源需要在$CAM_PACK/res/values/strings.xml中定义,需要其他语言支持的话,还要在其他语言的values文件夹中定义对应的字符串;步骤二:应用获取系统权限:对于camera模块的应用层client端和硬件抽象层service端所运行的进程可以通过ps命令进行查看,通过ps‑w命令可以看到进程的UID号,将应用中的AndroidManifest.xml文件中默认的sharedUserId改为″android.uid.system″使得Camera应用运行在system进程下,UID固定为1000;然后,在property_service.c中的鉴权数组property_perms[]中增加成员:{″app_camera.″,AID_SYSTEM,0},后在Camera应用进程中设置app_camera.为前缀的属性;步骤三:增加配置文件键值对:Camera应用中开始时初始化一个SharedPreferences实例,将在应用私用数据存储路径的shared_prefs目录下创建默认的com.android.camera_preferences的xml文件,用于存储camera_preferences.xml中定义的配置参数,对于新增加的双摄像头朝向配置参数,需要在该xml文件中利用SharedPreferences的API增加相应的键值对;这个操作只要在检测到配置参数未设置的情况下去添加,否则的话,就保留上一次的设置;步骤四:硬件抽象层获取设置:在camera硬件抽象层中,首先都要打开Linux中对应的设备节点,即在camera硬件抽象层中,首先都要打开Linux中对应的设备节点,即/dev/videoX,通过property_get函数来读取当前的摄像头朝向属性,根据读取到的值来判断是为前置或是后置摄像头,并打开相应设备;步骤五:应用监听并改变设置:在Camera应用中实现了SharedPreferences的监听接口,这个接口对应的实现函数负责监听preference中参数设置与用户交互后的改动,在这个函数里判断如果摄像头的朝向设置有改变时,就设置对应的属性;在设置改变后,需要发送Intent重新启动Camera应用,此时在硬件抽象层打开设备之前,读取到的摄像头朝向就是在应用层设置过的属性值。
地址 350000 福建省福州市鼓楼区软件大道89号18号楼