In my project, I need to access an IP Address through mobile connection
--irrespective of whether it is connected to mobile or WIFI network. My
code is similar to below:
connMan = (ConnectivityManager)
getSystemService(Context.CONNECTIVITY_SERVICE);
int res =
connMan.startUsingNetworkFeature(ConnectivityManager.TYPE_MOBILE,
"enableHIPRI");
Then when I get the notification that HIPRI is available, I call:
boolean reqRes =
connMan.requestRouteToHost(ConnectivityManager.TYPE_MOBILE_HIPRI,
ipAddress);
This is working fine. My app can connect to the URL specified in the
ipAddress. My app can send requests, and receive responses. However, the
connection gets disconnected after about a minute. Is there a way to have
HIPRI connection for longer time?
To make a short story long, I see the following in the log:
D/ConnectivityService( 1640): ignoring as dup is found
stopUsingNetworkFeature for net 5: enableHIPRI by 9683/10033(expire -
created 60026 mSec ago)
I took a look at the source and I see that in ConnectivityService.java, in
the implementation of requestRouteToHost method, it calls:
mHandler.sendMessageDelayed (mHandler.obtainMessage
(NetworkStateTracker.EVENT_RESTORE_DEFAULT_NETWORK, f),
getRestoreDefaultNetworkDelay());
And I see that getRestoreDefaultNetworkDelay is returning 60000. So, I know
why my app is getting disconnected after about a minute.
My question is, how can I have HIPRI connection for a longer period -at
least 30 minutes?
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en