http://wiki.forum.nokia.com/index.php/How_use_NotifyChange_to_get_camera_clicks
Does your application need a notification whenever a photo is clicked through the camera application? Well, here is how you can achieve it. The following article shows how your application can get a notification as soon as a photo is clicked and stored in the Phone memory, i.e., the C:/Nokia/Images folder. It is achieved using the NotifyChange API of the RFs server.
Remember to include PlatformEnv.lib in your mmp file if you are using the PathInfo API's
Library needed:
LIBRARY PlatformEnv.lib
Source:
#ifndef _NOTIFY_C_
#define _NOTIFY_C_
#include
#include
#include "MyDirObserver.h"
class CMyCNotify : public CActive
{
public:
CMyCNotify(RFs& aFs, MDirObserver& aDirObserver);
~CMyCNotify();
void StartMonitoring();
public: // CActive
void RunL();
void DoCancel();
private:
RFs& iFs;
MDirObserver& iDirObserver;
};
#endif
#include
#include
#include "MyCNotify.h"
CMyCNotify::CMyCNotify(RFs& aFs, MDirObserver& aDirObserver)
: CActive(EPriorityStandard),
iFs(aFs),
iDirObserver(aDirObserver)
{
CActiveScheduler::Add(this);
}
CMyCNotify::~CMyCNotify()
{
Cancel();
}
void CMyCNotify::RunL()
{
if(iStatus==KErrNone)
{
iDirObserver.CChange();
StartMonitoring();
}
else
; // there was an error so all monitoring will now stop
}
void CMyCNotify::DoCancel()
{
iFs.NotifyChangeCancel(iStatus);
}
void CMyCNotify::StartMonitoring()
{
if(!IsActive())
{
TFileName path = PathInfo::PhoneMemoryRootPath();
path.Append(PathInfo::ImagesPath());
iFs.NotifyChange(ENotifyWrite, iStatus, path);
SetActive();
}
else
; // already waiting for a change so do nothing
}
and finally implement the interface
#ifndef _DIROBSERVER_H_
#define _DIROBSERVER_H_
class MDirObserver
{
public:
virtual void CChange() = 0;
virtual ~MDirObserver(){}
};
#endif
监听照相机拍照功能
最新推荐文章于 2021-06-02 23:18:47 发布
本文介绍了一种方法,通过使用Symbian平台的NotifyChange API来监测手机内存中特定文件夹(C:/Nokia/Images)的照片变化。这种方法允许应用程序在用户通过相机应用拍摄照片并保存到指定文件夹时接收到通知。
2183

被折叠的 条评论
为什么被折叠?



