Usually what you want to achieve is to understand if you can place a call (void or data) or not.
Using the phone signal intensity it's usually not the best solution because it does not depends on the phone being registered on the right networks.
You can even get a good signal intensity but with the phone registered to a different network where you can place only emergency call.
Best is to check for network status using the parameters:
Regarding the behaviour of phoneSignalStrength, you're right. From the documentation, in your case, you're supposed to get a zero as result.
But getting 100 does not surprise me as a lot of phones return these values on a range of 0-255 with 255 be an "undefined".
My suggestion is: use a different parameter to understand if you can place a call!
what i want to achieve is based on the following connectivity scenarios display a status icon in my application:
- No phone service available (thus no data available)
- Phone service available but no data
- Both phone service and data available
currently for scenario "2" i am checking for "phoneSignalStrength" to be greater than "0" and "connectionTypeAvailable" as "Unavailable".
for scenario "3" the condition applied is "connectionTypeAvailable" to be anything other than "Unavailable".
how would you suggest i test for scenario 1? currently i was checking for "phoneSignalStrength" to be "0" which as you have mentioned may not return a reliable value.
with regard to the value for networkOperator, during testing with a Vodafone SIM I have seen that at times I got back an empty string.