While analyzing a Crashlytics crash report of a small app of mine I was surprised to see the following error:
Fatal Exception: java.lang.NumberFormatException
For input string: "<html><head></head><body><script type="text/javascript">try{if(parent.document.location==document.location) window.location="xxxxx"referer=&startm=201203";}catch(e){}</script></body></html>
The app sends a request to a server implemented with B4J. The server responds with a number. The code looks like this:
The user internet provider modified the server response and returned a JavaScript that does something (it is related to "safe internet" feature).
Bottom line is that even if you are calling your own web service you cannot assume that the server response will not be modified...
BTW, I recommend adding Crashlytics to your apps. It provides more information than Google Play and the data is sent automatically.
Fatal Exception: java.lang.NumberFormatException
For input string: "<html><head></head><body><script type="text/javascript">try{if(parent.document.location==document.location) window.location="xxxxx"referer=&startm=201203";}catch(e){}</script></body></html>
The app sends a request to a server implemented with B4J. The server responds with a number. The code looks like this:
B4X:
Wait For (CreateJob(...)) JobDone(j As HttpJob)
If j.Success Then
SavedGroupInfo.GroupId = j.GetString '<--- crash here
The user internet provider modified the server response and returned a JavaScript that does something (it is related to "safe internet" feature).
Bottom line is that even if you are calling your own web service you cannot assume that the server response will not be modified...
BTW, I recommend adding Crashlytics to your apps. It provides more information than Google Play and the data is sent automatically.