- 浏览: 40701 次
- 性别:
- 来自: 上海
最新评论
http://wiki.forum.nokia.com/index.php/%E5%A6%82%E4 %BD%95%E6%9B%B4%E6%8D%A2%E5%BD%93%E5%89%8D%E4%B8%BB %E9%A2%98
如何更换当前主题
From Forum Nokia Wiki
* 设备, 软件 版本:
S60 3rd Edition
* 详细描述:
[edit] 描述
S60第三版SDK并未提供给第三方程序一个方法来更换主题。但我们可以在
Extensions plug-in package for S60 3rd Edition SDK 获取到我们需要的API.
[edit] 解决方案
如何更换主题:
1、连接Skin Server
#include // link against aknskinsrv.lib
RAknsSrvSession skinsSession;
User::LeaveIfError( skinsSession.Connect( this ) );
CleanupClosePushL( skinsSession );
2、获取当前skin的package ID
#include // link against centralrepository.lib
#include
void CMyThemeManager::StoreCurrentSkinIdL()
{
TAknsPkgIDBuf pidBuf;
CRepository* repository = CRepository::NewL(KCRUidPersonalisation );
TInt retVal = repository->Get( KPslnActiveSkinUid, pidBuf );
delete repository;
repository = NULL;
iOriginalSkinPid.SetFromDesL( pidBuf ); // iOriginalSkinPid is of type TAknsPkgID
}
3、获得已安装skin packages列表
CArrayPtr* skinInfoArray =
skinsSession.EnumerateSkinPackagesL();
CleanupStack::PushL( skinInfoArray );
4、查询已安装的主题,确认第一个有效新主题
TInt retValue( KErrNone );
if ( skinInfoArray->Count() > 0 )
{
for ( TInt i = 0; i Count(); i++ )
{
TAknsPkgID pkgId = skinInfoArray->At( i )->PID();
if ( pkgId != iOriginalSkinPid )
{
// Activates a complete skin package
retValue = skinsSession.SetAllDefinitionSets( pkgId );
if ( retValue == KErrNone )
{
SetNewSkinIdL( pkgId );
}
break;
}
}
}
5、在Central Repository中存储新主题id
void CMyThemeManager::SetNewSkinIdL( TAknsPkgID aPkgId )
{
TAknsPkgIDBuf pidBuf;
aPkgId.CopyToDes( pidBuf );
CRepository* repository = CRepository::NewL( KCRUidPersonalisation );
TInt retVal = repository->Set( KPslnActiveSkinUid, pidBuf );
// KPslnActiveSkinLocation value needs to be updated
// if the new skin resides on memory card and the
// previous one resided in phone memory (and vice versa)
delete repository;
repository = NULL;
}
发表评论
-
SQL Server2005截取字符串并操作
2012-07-06 09:51 616以前看过别人写的,但是实在记不起来是怎么写的了,今天自己写 ... -
用正则表达式验证密码强度
2012-07-06 09:45 766项目中有个需要验证密码强度,我对正则表达式并不熟悉,每次都 ... -
shell脚本系列-正则表达式介绍
2012-07-06 09:37 659正则表达式介绍 随着对UNIX和LINUX熟悉程度的不 ... -
JS 正则表达式各种验证
2012-07-05 20:45 710判断手机的: ... -
Android组件相关概念总结
2012-07-03 13:43 681Android 手机操作系 ... -
flex ant 例子
2012-07-02 10:31 505Flex Ant Task" def ... -
Flex之数据格式化
2012-07-02 10:31 618数据格式化是对某 ... -
flex 日期下拉框,选择一段日期
2012-07-02 10:31 610在一般网页的制作过程中,我们做的程序,日期选择框,通过js ... -
SWFAddress实现Flex深度链接(不同模块具有不同的URL)
2012-07-02 10:30 570众所周知,Flex明显区别于传统B/S开发模式的特性中,有 ... -
The architecture of Flex and Java applications two (Flex 和 Java 应用程序架构 2)
2012-07-01 00:09 572Flex and Java application ... -
Adobe Flex Application LifeCycle
2012-07-01 00:09 566Flex的根对象就是Sys ... -
Flex4中 一个使用Module的例子
2012-07-01 00:09 599使用Flex的Module技术, 将各个业务子模块分散成若 ... -
flex linkbutton 数据加载
2012-07-01 00:09 753类似于导航条的一种。 flex/spark& ... -
Flex加载flash_as3_swf,并响应其中的按钮事件
2012-07-01 00:09 774注:flash_as3_swf里的源码里有一个btn_fu ...
相关推荐
Be My Love塞班S60V3主题Be My Love塞班S60V3主题Be My Love塞班S60V3主题Be My Love塞班S60V3主题Be My Love
塞班手机主题
塞班主题 火花,一个很漂亮的非主流主题,呵呵 ,你们下了就知道咯
CZ潮流飞猪流手机主题,CZ帅哥超酷界面!让你痴迷
精致华丽,数字时钟特别设计为彩色方块概念版,只有自己才能看出的时间哦,信号图标和电量图标特别设计为两个方块配合Metro风格,主屏多余字全部消除简约不杂乱,选择框特别设计为白框完美融入wp风格,主题特别精简...
主题,金色,漂亮,诺基亚的主题很少,这款是我喜欢的一款。
塞班s60v3青蛙主题
Symbian塞班操作系统的介绍以及应用
GG主题symbian版 3.0系列 320×240 Symbian S60 3.0系列 【GG主题】 最方便的手机主题软件! 免费!实用!操作方便! 立即免费下载 【温馨提示】1)安装新版之前请先删除旧版文件;在提示“是否...
Symbian S60 3.0系列 【GG主题】 最方便的手机主题软件! 免费!实用!操作方便! 立即免费下载 【温馨提示】1)安装新版之前请先删除旧版文件;在提示“是否允许网络接入”时,选择“确定”允许网络...
Symbian塞班软件破解入门资料,新手值得一看~
e71手机桌面主题很漂亮很炫的主题e71手机桌面主题很漂亮很炫的主题
GG主题Symbian S60 2.0系列 176×208 【GG主题】 最方便的手机主题软件! 免费!实用!操作方便! 立即免费下载 【温馨提示】 1)安装新版之前请先删除旧版文件;在提示“是否允许网络接入”时,选择“确定”允许...
Symbian(塞班)智能手机应用技巧十二讲
塞班3手机360手机宝盒软件支持
塞班智能手机,Symbian系统智能手机签名工具,轻松安装各种软件
输入框默认的背景是白色的,不好看,系统中有很多输入框,前面都有图片,且背景随主题而变,这个例子演示了如何创建这样的输入框
11款 Nokia S60v3 手机主题
symbian塞班软件开发工程师培训班实施方案.doc
手机主题 nth格式 s40 版 手机主题 nth格式 s40 版