Welcome!

Welcome to the official BlackBerry Support Community Forums.

This is your resource to discuss support topics with your peers, and learn from each other.

inside custom component

Java Development

Reply
Highlighted
Developer
Posts: 37
Registered: ‎10-17-2008
My Device: Not Specified

RadioInfo.isDataServiceSuspended() returns false even though data effectively suspended

 

On a blackberry curve 8320 with the 4.5 version of the OS (and SDK), I am doing the following:

 

* Initiate a phone call

* Send phone app to the background

* Run an App that does data transfer, can see that data transfer is "blocked" due to live call being in progress

* With call still in progess, invoke RadioInfo.isDataServiceSuspended(), which to my surprise returns false.

 

According to the docs:

 

---

isDataServiceSuspended() indicates whether data services are temporarily suspended at the present time. Data services are suspended on class B networks when the phone is active.

---

 

This seems like exactly what is happening in my case, yet isDataServiceSuspended() returns false.  Am I mis-interpreting the docs?  if so, under what scenarios isDataServiceSuspended() actually useful?  Is there another way to see if data transfer is "on hold" due to a live call?

 

My data connection is an unlimited data plan from T-Mobile USA, and it currently says I'm in "edge" coverage (as opposed to EDGE).  I did see this thread http://tinyurl.com/bg79k5 which discusses not getting simultaneous voice/data over edge connections, but couldn't find the answer there.

 

 

Developer
Posts: 37
Registered: ‎10-17-2008
My Device: Not Specified

Re: RadioInfo.isDataServiceSuspended() returns false even though data effectively suspended

 

I think I figured out what was going on -- I was connected via Wi-Fi, and so even though the GPRS connection was

suspended, the Wi-Fi connection was not, and so isDataServiceSuspended() returned false because it saw the Wi-Fi as an available data connection.  When I turned off the Wi-Fi radio and retested by placing a call, then isDataServiceSuspended() returned true as I was originally expecting.

 

Even if I set Mobile Network Options / Connection Preference to Mobile Network Only, isDataServiceSuspended() still

returns false if I am connect to a Wi-Fi access point.  So that preference cannot make it ignore the Wi-Fi connection.

 

Ideally isDataServiceSuspended() would take a waf (Wireless Access Family) argument so it would be possible to specify which WAF you are interested in.