Does anyone know how to passively detect 3G coverage using the Publish and Subscribe API (ie without connecting). I know how to do it with GPRS but there doesn't seem to be an equivalent TUid for 3G.
Does anyone know how to passively detect 3G coverage using the Publish and Subscribe API (ie without connecting). I know how to do it with GPRS but there doesn't seem to be an equivalent TUid for 3G.
hey David,
I want to detect passively the GPRS connection, can you please guide me on this, how to acheive it.
Cheers!
Ajay
Hi,
i only need to know if i have GPRS coverage, although i had to open a data connection.
Thanks,
Benji.
For S60 2nd edition:
Reproduced from rbelwal's post of 2003-06-02
--------------------------------------------
"For Network Status or GPRS coverage you may try to use RSystemAgent API and following UIDs.
Try this sample code
const TInt KUidGprsAvailabilityValue = 0x100052DA;
const TUid KUidGprsAvailability = {KUidGprsAvailabilityValue};
enum TSAGprsAvailability
{
ESAGprsAvailable,
ESAGprsNotAvailable,
ESAGprsAvailabilityUnknown
};
Network connection status
const TInt KUidGprsStatusValue = 0x100052DB;
const TUid KUidGprsStatus = {KUidGprsStatusValue};
enum TSAGprsStatus
{
ESAGprsUnattached,
ESAGprsAttach,
ESAGprsContextActive,
ESAGprsSuspend,
ESAGprsContextActivating
};"
To use this with the P&S API you need to use the KUidSystemCategory category so something like:
TInt result,
TInt error=RProperty::Get(KUidSystemCategory, KUidGprsAvailabilityValue, result);
Where result will hold a value from the TSAGprsStatus enum.
Note that the TSAGprsStatus enum is different for S60 3rd edition.
hey David,
thanks alot for a valuable input, did u able to find a way to detect passively 3G coverage?
thanks
ajay
Hi,
i only need to know the GPRS availability but it doesn't work in Symbian 6.1.
My code is (in an active object):
RSystemAgent iSysAgent;
TSysAgentEvent iSysAgentEvent;
const TInt KUidGprsAvailabilityValue = 0x100052DA;
const TUid KUidGprsAvailability = {KUidGprsAvailabilityValue};
ConstrucL()
{
User::LeaveIfError(iSysAgent.Connect());
iSysAgentEvent.SetRequestStatus(iStatus);
iSysAgentEvent.SetUid(KUidGprsAvailability);
iSysAgent.NotifyOnEvent(iSysAgentEvent);
}
RunL()
{
TInt resStatus = iSysAgentEvent.State();
}
Thanks for your help.
Benji.
Hi,
it works "correctly" but it returns always ESAGprsAvailabilityUnknown.
Does someboby know why can be?
Thanks.
Ben.
Hi,
it works correctly only when GPRS connection is configured as "When available" but not as "When needed".
Thanks,
Benji.
Hello,
Have you secceeded to get the GPRS coverage status?
I am also trying to get this information but no success.
I need to know the GPRS coverage information before trying to make connection. I tried to use RProperty class and RConnectionMonitor. Both didn't send back the expected status. I am wondering if someone could give me some tips in this matter.
Thanks a lot.
Mimi
Have any of you tried using RConnectionManager, I'm rather sure you could get the 3G network status with it, Here in paradise they are a bit slow, thus no 3G available but I have used the API to determine if I'm having EDGE.
ucca
Hallo Symbian Yucca,
I've tried to find the RConnectionManager in the SDK, but I didn't find it anywhere. Is RConnectionManager is a NonPublic API?
I use S60 2nd fp2.
Thanks!
Thank You so much for your attention !
Nope, I just wrote the name from my faulty memory, the real name for the API is of course : RConnectionMonitor... sorry about any onconvenience caused..
yucca
Hello,
Thanks Yucca,
I looked into my code closely. Seems RConnectionMonitor works. Just I was testing in a wrong condition. :-(
Hi,
Does anybody know which is the UID for getting the 3G signal level (coverage) in S60 3rd?
or at least, how can i find out it?
Thanks in advance.
Hallo all,
Why RConnectionMonitor::GetConnectionCount() always give me 0 connection number? Is there somthing that I miss?
I use RConnectionMonitor::ConnectL() just before I call the GetConnectionCount() function.
Thank You so much for your attention !