×
Namespaces

Variants
Actions

设置各种指示图标

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata

代码示例
兼容于
文章
hoolee 在 24 May 2008 创建
最后由 hamishwillee 在 09 May 2012 编辑

CS000818


  • 开发伙伴平台:

S60 3rd Edition, FP2


  • 详细描述

这个API不是公开SDK中的一部分。但可以在SDK API Plug-in找到。


目的

KCoreAppUIsNewEmailStatus API可以用来设置新邮件到来时的提示图标,头文件中还包含有其他值可以用来设置并获取各种指示图标,如POC图标,USB连接时的图标,以及移动电视的图标。


这些功能可以通过监听Publish & Subscribe键值的变化完成。


注意电子邮件状态的P&S值在所有S60第三版(Feature Packs)都有,可以在Extensions plug-in package for S60 3rd Edition SDK for Symbian OS, for C++, supporting Feature Pack 2找到大部分键值的介绍。


使用事项

1、程序需要监控一封电子邮件状态的变化,在这个情况下,可以使用该API完成一些特殊操作。

2、这个API可以用来设置各种指示图标的状态


示例代码

头文件:

#include <coreapplicationuisdomainpskeys.h>
#include <e32property.h> //RProperty class


链接库:

LIBRARY   euser.lib 	//RProperty class


Capabilities:

WriteDeviceData  // for setting the e-mail status using RProperty::Set()
ReadDeviceData // for retrieving the e-mail status using RProperty::Get()


获得电邮的状态:

下列代码可以获得电邮的状态:

RProperty iProperty;
TInt iEmailStatus;
// This is used for retrieving the e-mail status and the
// result is stored in iEmailStatus
iProperty.Get( KPSUidCoreApplicationUIs,
KCoreAppUIsNewEmailStatus,
iEmailStatus
);
// Compare it with TCoreAppUIsNewEmailStatus enum
// for checking the e-mail status
switch( iEmailStatus )
{
case ECoreAppUIsNoNewEmail:
CEikonEnv::Static()->AlertWin(_L("No New e-mail"));
break;
case ECoreAppUIsNewEmail:
CEikonEnv::Static()->AlertWin(_L("You have a New e-mail"));
break;
default:
CEikonEnv::Static()->AlertWin(_L("Uninitialised"));
break;
}


设置电邮的状态: 下列代码可以为电邮状态赋值,第三个参数可以为头文件中TCoreAppUIsNewEmailStatus类型下任何值:

设置“ECoreAppUIsNewEmailStatusUninitialized”为电邮状态:

iProperty.Set( KPSUidCoreApplicationUIs, 
KCoreAppUIsNewEmailStatus,
ECoreAppUIsNewEmailStatusUninitialized
);


通知电邮状态的改变:

下列代码片段当电邮状态改变时会接到通知:

RProperty iProperty;
// This is based on Active Objects.
// The function creates a handle (this object) to the specified property.
// This allows the caller to subscribe for a notification of changes
// to this e-mail status.
iProperty.Attach(KPSUidCoreApplicationUIs, KCoreAppUIsNewEmailStatus);
// The function issues an asynchronous request to be notified when the
// e-mail status is changed.
iProperty.Subscribe(iStatus);
SetActive();
// RunL is called whenever the status changes.


获取移动电视录制状态:

下列代码用来获取移动电视录制状态

TInt status;
RProperty::Get(KPSUidCoreApplicationUIs, KCoreAppUIsMtvRecStatus, status);
switch(status)
{
case ECoreAppUIsMtvRecStatusUninitialized:
// Uninitialized
break;
 
case ECoreAppUIsMtvRecStatusOff:
// Off
break;
 
case ECoreAppUIsMtvRecStatusOn:
// On
break;
}


设置移动电视录制状态:

下列代码片段为移动电视录制状态赋值:

TInt status;
TInt err;
 
RProperty::Get(KPSUidCoreApplicationUIs, KCoreAppUIsMtvRecStatus, status);
 
if(status == ECoreAppUIsMtvRecStatusOff)
{
err = RProperty::Set( KPSUidCoreApplicationUIs,
KCoreAppUIsMtvRecStatus,
ECoreAppUIsMtvRecStatusOn );
}
else
{
err = RProperty::Set( KPSUidCoreApplicationUIs,
KCoreAppUIsMtvRecStatus,
ECoreAppUIsMtvRecStatusOff );
}


其他如POC以及USB指示图标,也可以用上述同样方法进行设置,具体键值定义在coreapplicationuisdomainpskeys.h头文

件中。


  • 应用示例

File:ApplicationUIKeys.zip

This page was last modified on 9 May 2012, at 08:05.
42 page views in the last 30 days.
×