在S60 3rd SDK plug in 中,有一个DEMO程序可以获取、删除、清空手机wap浏览器的历史记录,此DEMO下载地址:

 

http://wiki.forum.nokia.com/index.php/Image:AhleUsage.zip


现在将关键代码通过控制台程序展示如下:

 

#include "TestConsoleApp.h"
#include 
<e32base.h>
#include 
<e32std.h>
#include 
<e32cons.h>            // Console
#include <ahle.h>

//  Constants

_LIT(KTextConsoleTitle, 
"Console");
_LIT(KTextFailed, 
" failed, leave code = %d");
_LIT(KTextPressAnyKey, 
" [press any key]\n");

//  Global Variables

LOCAL_D CConsoleBase
* console;
// write all messages to this


//  Local Functions

LOCAL_C 
void MainL()
    {
    CDesC16ArrayFlat
* itemsArray = new(ELeave) CDesC16ArrayFlat(8);
    CDesC16ArrayFlat
* itemsNameArray = new(ELeave) CDesC16ArrayFlat(8);

    CleanupStack::PushL(itemsArray);
    CleanupStack::PushL(itemsNameArray);

    CAHLE
* ahle = CAHLE::NewL();
    ahle
->AdaptiveListL(*itemsArray, *itemsNameArray, TUint(100), _L(""), EAHLEAdaptiveSiteDetails);

    TBuf
<500> tempBuffer;
    
for (TInt i=0; i<itemsNameArray->Count(); i++)
        {
        TPtrC16 url 
= itemsArray->MdcaPoint(i);

        tempBuffer.Append(url);
        tempBuffer.Append(_L(
"\n"));
        }

    console
->Write(tempBuffer);

    tempBuffer.Zero();
    CleanupStack::PopAndDestroy(
2);

    delete ahle;
    ahle
=
 NULL;
    }

LOCAL_C 
void DoStartL()
    {
    
// Create active scheduler (to run active objects)
    CActiveScheduler* scheduler = new (ELeave) CActiveScheduler();
    CleanupStack::PushL(scheduler);
    CActiveScheduler::Install(scheduler);

    MainL();

    
// Delete active scheduler
    CleanupStack::PopAndDestroy(scheduler);
    }

//  Global Functions

GLDEF_C TInt E32Main()
    {
    
// Create cleanup stack
    __UHEAP_MARK;
    CTrapCleanup
* cleanup = CTrapCleanup::New();

    
// Create output console
    TRAPD(createError, console = Console::NewL(KTextConsoleTitle, TSize(KConsFullScreen,KConsFullScreen)))
    ;
    
if (createError)
        
return createError;

    console
->Printf(_L("\n"));

    
// Run application code inside TRAP harness, wait keypress when terminated
    TRAPD(mainError, DoStartL())
    ;
    
if (mainError)
        console
->Printf(KTextFailed, mainError);

    console
->Printf(KTextPressAnyKey);
    console
->Getch();

    delete console;
    delete cleanup;__UHEAP_MARKEND;
    
return KErrNone;
    }

 

运行后控制台将打印出手机浏览器的浏览历史记录。

相关文章:

  • 2022-01-30
  • 2022-12-23
  • 2021-11-03
  • 2022-12-23
  • 2021-11-11
  • 2021-06-08
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-05-15
  • 2021-12-26
  • 2021-10-20
  • 2021-10-28
相关资源
相似解决方案