I'm using custom live tracking feature and when I'm sending gsm_signal value, result is always 0.
Phone: Honor 8, Android 7.0
Every other values works fine.
Good day Jakub,
I'm trying to find out reason why this feature may not work. From what I found, only possible reason is that you device is not reporting these "signal" values, is because GSM is disabled. I'm rather testing it on own device and all seems to be OK.
May you check it once more, check if Airplane mode is not enabled, maybe restart a device, to be sure, something is not wrong inside.
thanks for reply. Phone is 100% online because it is sending live tracking info to server over mobile data but I will try restarting phone or other device and I'll give you know the result.
sorry for a delay. I was searching a little more and still have no idea what may cause a troubles.
So I prepared testing version, that will print out some extra information into Locus/logs directory (log files). So please, download it, install it (it's Locus Map Free based version, so no need to remove Pro version), use it and after problem appear, close it (maybe after a while) and send me logs from mentioned directory. Thank you.
thanks for looking at it. I'm sending a log. It seems that http request sends still gsm_value=0. I've restared the phone before doing test and signal of mobile network wasn't weak.
thanks for a log. It was not about this value, but about "what system reports".
If you look into txt file, I was interested in lines with PhoneStateInformation name. Here is usually visible this value:
0 -1255627097 0 255 -1 -1 -1 -1 -1
-1 -107 -6 2 -1 0 false gw|lte
by Android documentation, first value is GSM signal. As you may see, first value is equal '0', which is what Locus map reports. As I see, number of reported values is different compare to what I expected. So I cannot for sure say, what means rest.
Since Android M is in documentation new method called "getLevel", that returns GSM signal value in range 0 to 4 (worst to best), so I'll in next version try to use this value and we will see. Result will be still in range 0 to 100%. Hope this will help on your device, because otherwise I'm really unable to find any more information how to solve this.
Thanks for troubleshooting, I'm looking forward to the next version. If it won't be possible to solve it, it is not a big deal, gsm signal is not the most important value during live tracking :)
Same problem after changing from Android 6 to Android 7 (Evolveo Strongphone G4)
Looking out for next version
Hi Menion, I've tested new version and it seems that now Locus is sending RSRP value in dBm (range -140 to -44 dBm). It is being send without minus sign.
So it seems it is working well ;)
My signal strength in phone states -86dBm and locus is sending 125?
But 125 is a step forward, yes!
this is really really interesting.
I'm using this method: https://developer.android.com/reference/android/telephony/SignalStrength.html#getLevel() , "getlevel", where is clearly wrote that it should be value from 0 to 4. So in Locus, this value is multiplied by 25 with my good hope, that result will be equal to 0% to 100%. Hmm and result is some nonsence equal 125% :). Crazy ...
I'll limit top value to '100', that's best what I can do.
When I was checking it, I had -100dBm and Locus sent 100...before that I also got 125 but in that time I didn't check signal strenght with other app...so maybe my observation is wrong. I'll try to test it more.
in latest version, I've added small analytics tool that sends me signal values from devices and no matter what Google say in documentation, these values are in range -1 to 5. So in next version 3.29, values 0 to 5 will be correctly mapped to 0 to 100% as expected.
Thanks for solving these troubles.
Comments have been locked on this page!