Don't use ConnectivityManager checkRouteToHost for IPv6
T-Mobile LTE now uses IPv6 addresses for their MMSC, which are incompatible with ConnectivityManager's checkRouteToHost.
This commit is contained in:
parent
bccf4895f6
commit
dfa710a6fc
1 changed files with 9 additions and 7 deletions
|
@ -148,15 +148,17 @@ public class MmsCommunication {
|
|||
return;
|
||||
}
|
||||
|
||||
Log.w("MmsCommunication", "Checking route to address: " + host + " , " + inetAddress.getHostAddress());
|
||||
|
||||
byte[] ipAddressBytes = inetAddress.getAddress();
|
||||
|
||||
if (ipAddressBytes != null && ipAddressBytes.length == 4) {
|
||||
int ipAddress = Conversions.byteArrayToIntLittleEndian(ipAddressBytes, 0);
|
||||
ConnectivityManager manager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
|
||||
|
||||
if (!manager.requestRouteToHost(MmsDownloader.TYPE_MOBILE_MMS, ipAddress))
|
||||
throw new IOException("Connection manager could not obtain route to host.");
|
||||
// if (!manager.requestRouteToHost(ConnectivityManager.TYPE_MOBILE, ipAddress))
|
||||
// throw new IOException("Connection manager could not obtain route to host.");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
protected static AndroidHttpClient constructHttpClient(Context context, MmsConnectionParameters mmsConfig) {
|
||||
|
|
Loading…
Add table
Reference in a new issue