判断S60程序使用接入点情况

本文介绍了一种通过连接监控获取网络连接信息,并进一步通过应用程序UID匹配来确定具体应用的网络活动的方法。文中详细展示了如何使用特定API获取当前的连接数量及每个连接的详细信息,再通过应用程序列表对比来定位到具体的应用程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TUint connCount = 0;
    iMonitor.GetConnectionCount(connCount, iStatus);
    User::WaitForRequest(iStatus);
    if ( KErrNone != iStatus.Int() || connCount == 0 )
    {
        return;
    }


    for ( TUint i = 1; i <= connCount; i++ )
    {
        //match connection id
        TUint id = 0;
        TUint subCount = 0;
        TInt err = iMonitor.GetConnectionInfo(i, id, subCount);
        LOG_FORMAT(( _L("GetConnectionInfo, err = %d, connection id = %d, subCount = %d"), err, id, subCount ));
        if ( KErrNone != err )
        {
            continue;
        }

        //match app uid
        TConnMonClientEnumBuf client;
        iMonitor.GetPckgAttribute(aConnId, 0, KClientInfo, client, iStatus);
        User::WaitForRequest(iStatus);
        LOG_FORMAT(( _L("KClientInfo, iStatus = %d, client().iCount = %d"), iStatus.Int(), client().iCount ));
        TUint k = 0;
        for ( ; k < client().iCount; k++ )
        {
            //检测安装列表
            RApaLsSession rls;
            User:LeaveIfError( rls.Connect() );
            CleanupClosePushL( rls );
            TInt Appcount;
            rls.AppCount(Appcount);
            User:LeaveIfError(rls.GetAllApps());
            
            TApaAppInfo app;
            while ( rls.GetNextApp(app) == KErrNone )
            {
                if (client().iUid[k] == app.iUid)
                {
                    LOG_FORMAT(( _L("app: %S[0x%08x] connect network, path is %S"), &app.iCaption, app.iUid, &app.iFullName ));
                    CAknInformationNote* informationNote = new ( ELeave ) CAknInformationNote;
                    TBuf<100> buf;
                    buf.Copy(app.iCaption);
                    buf.Append(_L(" connect network."));
                    informationNote->ExecuteLD( buf );
                    break;
                }
            }
            CleanupStack:PopAndDestroy();
        }

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值