首 页 | 新 闻 | Symbian | Android| Windows Mobile | J2ME | 下载中心 | 游戏策划招聘与求职 | 购书指南 | 视频教程
您现在的位置: 开发视界 >> Symbian >> Symbian开发 >> 正文
在\private目录下存储应用程序图片文件
作者:hoolee    文章来源:诺基亚论坛    更新时间:2006-11-28 10:09:47
标题: 在\private目录下存储应用程序图片文件

设备, 软件 版本: S60 3rd Edition

说明:
如果图片文件存放在受保护目录下,则在S60第三版上使用AknIconUtils加载图标或图片可能会引发错误。

详细描述:
如果图片文件aFileName存放在一个受保护目录下,如\private\<appUID>\下,则在S60第三版中使用AknIconUitls的下列方法(akniconutils.h)时将会引发错误:
void CreateIconL( CFbsBitmap *&aBitmap,
CFbsBitmap *&aMask,
const TDesC &aFileName,
TInt aBitmapId,
TInt aMaskId )
这是因为Avkon icon server无法访问存放在保护目录下的文件。

案例重现:

在这种情况下AknIconUtils::CreateIconL()不会引发异常,不管怎么说,aBitmap和aMask参数将不会指向有效位图。如果尝试使用返回的位图将会引发错误异常。
例如,尝试使用AknIconUtils::SetSize()设置位图大小时会引发error -46(KErrPermissionDenied)

解决方案:
不要将文件名传递到CAknIconUtils,程序应当完成max-in类MAknIconFileProvider,以便提供一个打开的文件句柄给Avkon icon server.
CAknIconUtils有一个可供重载的CreateIconL()方法以便接收一个MAknIconFileProvider示例。
这里提供一个完成MAknIconFileProvider 类的示例,请S60 Platform: Scalable Screen-Drawing Example, 可在http://www.forum.nokia.com/下载
注意:包含应用程序图标的.mbm和.mif文件(会在LOCALISABLE_APP_INFO资源定义中被引用)应该永远安装在\resource\apps\.目录下。
相关文章:
在S60中、正常UIQ3中使用设备无关字体变斜的解决方案
S60 3rd下实现Video Call 与 VoIP Call
SAX与DOM之间的区别
symbian学习的开始
Symbian 应用软件开发、测试与S60 平台安全常见问题问答
Symbian开发环境设置(Microsoft Visual Studio.Net 2003工具)已测试通过
S60 3rd版下,如何运行控制台程序?
Symbian OS 应用程序在手机上无法运行的种种原因
 

站点地图 | 加入收藏 | 联系站长 | 广告服务 |
QQ:280529124  Tel:0592-8271361 辽ICP备05021703号