MMS Low detail images

Fraser Carter

Active member
Nov 27, 2012
40
0
0
Visit site
Why are images sent via MMS low quality and pixelated? is there an option to change this, coming from the iPhone images were sent in a good resolution compared to jellybean (I'm presuming this is a software issue not the phone itself)

Any ideas?

Sent from my Nexus 4 using Android Central Forums
 

N4Newbie

Trusted Member
Nov 15, 2012
5,006
1
36
Visit site
My understanding is that maximum MMS message size is set by the carrier and is mostly limited to 300kb by convention. The only way around this is to use a messaging app which transmits over Wi-Fi, such as WhatsApp, Handcent, or GoSMS. I understand GoSMS in particular allows you to set max image size; not sure about the others.

Of course, the problem with these apps is that they require your recipient is using the same app on his end.
 

TheLibertarian

Well-known member
Sep 3, 2012
1,030
0
0
Visit site
My understanding is that maximum MMS message size is set by the carrier and is mostly limited to 300kb by convention. The only way around this is to use a messaging app which transmits over Wi-Fi, such as WhatsApp, Handcent, or GoSMS. I understand GoSMS in particular allows you to set max image size; not sure about the others.

Of course, the problem with these apps is that they require your recipient is using the same app on his end.

Handcent and GoSMS are not like WhatsApp and do not require the recipient to be using either of those apps.
 

andr0idralphie

Well-known member
Oct 31, 2012
355
0
0
Visit site
Handcent and GoSMS are not like WhatsApp and do not require the recipient to be using either of those apps.

That's an important point. While researching SMS/MMS replacement apps I learned that WhatsApp requires each user have WhatsApp. I'm not going to ask anyone to install an app to receive messages from me. Handcent and GoSMS look like good options but I HATE, HATE advertising and question their access to my private information and have more homework to do on that...
 

N4Newbie

Trusted Member
Nov 15, 2012
5,006
1
36
Visit site
I use WhatsApp so that I can remain in contact while at work with several important people in my life including my wife and son.

In my office, I get zero reception; cannot send or receive "normal" SMS or MMS messages and cannot make or receive calls. With WhatsApp and my office WiFi connection, we can exchange SMS/MMS messages in real time.
 

TheLibertarian

Well-known member
Sep 3, 2012
1,030
0
0
Visit site
That's an important point. While researching SMS/MMS replacement apps I learned that WhatsApp requires each user have WhatsApp. I'm not going to ask anyone to install an app to receive messages from me. Handcent and GoSMS look like good options but I HATE, HATE advertising and question their access to my private information and have more homework to do on that...

WhatsApp is terrific, but I completely understand the argument behind not requesting others to download an app just to speak with you. It's too bad WhatsApp can't integrate with SMS messaging in the way iMessage works in the Apple universe. If WhatsApp was a customizable as GoSMS/Handcent and could handle SMS messaging, it would be killer awesome.
 

andr0idralphie

Well-known member
Oct 31, 2012
355
0
0
Visit site
I just ran into this very informative (albeit from February, 2012) post on XDA;


Alright guys, I finished my tests. Warning: Tech-talk ahead!

As far as I can tell, there are three classes that have access to the phone number:

  • com\jb\gosms\goim\ui\BindMobileActivity.java
  • com\jb\gosms\transaction\c.java
  • com\jb\gosms\ui\jr.java

BindMobileActivity.java

The class BindMobileActivity contains an Activity that populates a View, including an EditText of the phone number. This however only occurs if the phone number starts with the country code +86 (China). The following paragraph therefore only applies to Chinese phone numbers.

The mentioned EditText can be accessed by another class, ImRegisterWizardView2 (com\jb\gosms\ui\contacts), which provides a static private method named "EditText I(ImRegisterWizardView2 imregisterwizardview2)" to get the EditView. At first sight, there is no method that accesses "EditText I(ImRegisterWizardView2 imregisterwizardview2)". However, after checking for reflection calls, I found two classes named "bn.java" (com\jb\gosms\ui\contacts) and "br.java" (com\jb\gosms\ui\contacts). "bn.java" enables the EditText while "br.java" disables the EditText. Other than that, there are no calls to the mentioned methods.

I haven't taken the time to find out what BindMobileActivity specifically acomplishes, but I assume it has something to do with some sort of registration process for Chinese users. If anybody knows more, please tell us about it.

Looking at the source code of BindMobileActivity.java and its related files, I consider "com\jb\gosms\goim\ui\BindMobileActivity.java" to be safe.

c.java

c.java is a class that handles MMS messages. To be precise, it handles http requests (GET /SET) related to sending MMS.

It contains a protected static method named "Code(Context context, long l, String s, byte abyte0[], int i, boolean flag, String s1, int j, boolean flag1)" which attaches several headers to a http connection. One of these headers is a string containing the phone's number.
This made me suspicous at first, however upon closer inspection, I realised that this header is part of the standard MMS headers and stores the sender's phone number. The HTTP server, which is passed as the "String s" parameter, is actually the MMS proxy server provided by the Android system. Judging by the rest of the code, I have serious doubts that this method could be used to transmit the phone's number to the developer, especially since the rest of the method deals with MMS releated header data.

I consider this method safe as well.

jr.java

The third class, jr.java, is rather simple to understand. There are two methods that handle the phone's number, Code() and Code(String s). Code() actually just saves the phone's number to a local private variable named "Z". The second method Code(String s) compares a given string s to Z and returns true if both values are the same. This could be used to brute-force the phone number by using the reflection API. However, there are much easier ways to access the phone's number, making this approach impractical.

Therefore, I wouldn't call this class a possible security risk either.

Just to be on the safe side, I have double-checked the entire code for reflection calls. However only two calls related to the phone's number were made. Those two have already been discussed above (see BindMobileActivity) and do not pose a security risk.

In conclusion I have not found any sign that the phone's number is sent to the GoSMS developer or any other server beside the MMS proxy server.

I welcome everybody to check my analysis. If there are any mistakes, please let me know.

Oh, and before I forget: I used dex2jar-0.0.9.7 to convert the dex file to jar and used DJ Java Decompiler 3.12 to get readable java source files. I hope that method names are the same on all computers. If there are issues regarding file or method names, feel free to use the attached decompiled files (the jad files contain the java source code).
 

Fraser Carter

Active member
Nov 27, 2012
40
0
0
Visit site
So how do we explain the high quality image sizes sent and received from iphones ... if my gf sends me a MMS picture it sent and received on my android as good resolution if I send her one its sent as low quality and pixelated.

I can't make sense of this it must be a software issue I can't see the logic in this implying its a carrier issue as im on the same carrier as when I was on a iPhone

Sent from my Nexus 4 using Android Central Forums
 

Fraser Carter

Active member
Nov 27, 2012
40
0
0
Visit site
Looking at the MMS received by my gf her messages are being sent at around 350kb whereas my images are being sent at 52kb???? Why is it so low we must be able to increase this

Sent from my Nexus 4 using Android Central Forums
 

N4Newbie

Trusted Member
Nov 15, 2012
5,006
1
36
Visit site
So how do we explain the high quality image sizes sent and received from iphones ... if my gf sends me a MMS picture it sent and received on my android as good resolution if I send her one its sent as low quality and pixelated.

I can't make sense of this it must be a software issue I can't see the logic in this implying its a carrier issue as im on the same carrier as when I was on a iPhone

Sent from my Nexus 4 using Android Central Forums

What cellular network is your girlfriend's iPhone on? What cellular network is your Nexus 4 on? Each network operator sets their own limit for MMS attachments; typically at around 300kb, but your network's limit may be lower.
 

gone down south

Well-known member
Jul 24, 2012
2,040
0
0
Visit site
Isn't iMessage a closed messaging environment for the iPhone? The rules are different sending messages inside iMessage versus outside of it.

Sent from my Nexus 4 using Android Central Forums
 

TheLibertarian

Well-known member
Sep 3, 2012
1,030
0
0
Visit site
Isn't iMessage a closed messaging environment for the iPhone? The rules are different sending messages inside iMessage versus outside of it.

Sent from my Nexus 4 using Android Central Forums

iMessege shouldn't even be active when texting non-iPhone's, I can't imagine it plays any role in this situation whatsoever.
 

N4Newbie

Trusted Member
Nov 15, 2012
5,006
1
36
Visit site
Looking at the MMS received by my gf her messages are being sent at around 350kb whereas my images are being sent at 52kb???? Why is it so low we must be able to increase this

Sent from my Nexus 4 using Android Central Forums

By the way, how exactly are you sending these images? For example, Gallery -> Share?

I just sent two different images from my N4 to my wife's N4 (both on T-Mobile) using Gallery -> Share and the default Messaging app. The first image was 478 KB on my phone and was received at the same size, 478KB. The second began as 1.01MB and was received as 499kB.
 

badbrad17

Well-known member
Dec 2, 2011
3,192
2
0
Visit site
Handcent and GoSMS are not like WhatsApp and do not require the recipient to be using either of those apps.
It's only required if you use the Go Chat feature which is a pure data option vs. The regular network sms app.

Sent from my Nexus 4 using Android Central Forums
 

Trending Posts

Forum statistics

Threads
942,920
Messages
6,916,502
Members
3,158,736
Latest member
w8wca