This question is not exactly about code but rather knowing the sensors on android phones.
My application use sensors. So I would like to know is Light sensor or Proximity sensor is present on most of Devices. I have got some test devices and my observation is only higher end devices have got Light Sensor whereas the same is not available on lower end(low cost) Phones but the Proximity is available on all Phones. There would be someone playing with sensors so far, can share your observation so I can take the decision what to choose to go further with my application.
Thanks.
Check
https://developer.android.com/guide/topics/sensors/sensors_overview.html
and especially the "Sensor Availability" part.
My personal observation is that proximity and light sensors are available at least from 19 and work so far on Samsung, ASUS, Huawei, and other devices. But light sensors are more sensitive on high-end devices. So sometimes an extreme light change is needed for a light sensor on lower-end devices to even show a change from baseline 0.0. Proximity sensors work more reliably across versions, but the distance they support varies from 5cm until 10cm and more.
In short these sensors will work virtually on all relevant devices, but their sensitivity itself will be different.
Related
I've done some experiments on different devices and I made each of the scanner and receiver at the same time and saved RSSI get from other nearby devices but the result was strange. first, there was a Huawei p6 that could scan other devices signal but nobody could see its transmit signal. second, the RSSI was completely device-dependent although beacons setting was the same for all of them inside the application and I want these signals to approximate their distance from each other.
question is that is this library reliable for my purpose which is getting approximately distance of devices from each other? I should mention that these results have gotten from android devices and I think that iPhones are another problem
The fragmentation in Android devices means that there is a huge variation in not just bluetooth chips, but in the external bluetooth antennas and phone cases that affect the strength of the signal Android devices receive and transmit.
While the distance estimates provided by the Android Beacon Library are useful for finding the relative distances to different beacons, using the value as an absolute distance estimate will not be consistent across different Android devices. The library does provide a way to tune its distance estimates to a specific hardware model, but unless you are targeting only a small number of devices this approach is not practical to tune for thousands of Android models out there.
I made an android app that relies heavily on very accurate sensor data (magnetometer, gravitymeter and accelerometer). To achieve this I validate all these device sensors periodically for highest quality of service by checking the sensor status for SENSOR_STATUS_ACCURACY_HIGH. If one of these sensors doesn't have this status I show a calibration screen until the high accuracy can be delivered. On my own device this is working perfectly fine, but I get a lot of app reviews from people who can't get around my calibration screen. My question is, can I rely that every android device is per se capable of delivering SENSOR_STATUS_ACCURACY_HIGH or do I have to lower the minimum accuracy? If so, how is this status even defined cross devices?
No, you can't. And even if you could, its possible for the sensor to be broken and returning the high status incorrectly. And you don't know if OEM A and OEM B have the same definition of high. In the end, you're trusting the individual hardware drivers for each device, and hoping all of them are both acting in good faith and had the same definition of "high accuracy". Neither of which are really reliable.
we try to develop a ios and andorid app with beacons.
it only uses the entry and exit event.
now our problem is that the android gets the enter event at ~7meter
and the iphone ~1.5meter.
the beacon settings are TX Power -23dbm, Measured Power -80.
is there a way to adjust the android or iphone to get the same range?
This is a common problem with mobile devices because each model has a different Bluetooth antenna and chip, some of which pick up signals better than others. The problem is particularly noticeable across the wide variety of Android models.
There is no magic fix, but you can do ranging at the same time as monitoring, and trigger your logic only if you get a ranging result with beacon.distance < 1.5. This is not a perfect solution, as Android models can sometimes have inaccurate distance estimates due to the same varying antenna gain characteristics. For select devices. This may be a much better solution.
In the manual on the page 19 there is an info on temperature sensor in S5.
Temperature and Humidity sensor allows your device to read both
temperature and humidity conditions. This is useful to calculate
calories burned within S Health
But I cannot seem to find any data on how to use this sensor.
Did anyone find any way to use this sensor in our own app?
EDIT
Take note that if you install any 3rd party temperature application, it will say that your device (S5) does not have temperature sensor. So I cannot use the standard code to access the sensor because sensor is not being detected. But Samsung app S Health is using this sensor and I am not sure which API it uses.
Galaxy S5 does not have Temperature and Humidity sensors, unlike S4. Samsung announced it and close to publishing decided not to ship it. It seems that the reason was the fact that these two sensors could not work along with water-proof feature.
S Health app has ability to measure body temperature but its API is hidden at this moment. It means that we have no clue if it measures temperature via external devices (Gear) or it can measure it using heart-rate sensor. Also we don't know if it can measure air temperature (probably not).
http://developer.android.com/reference/android/hardware/Sensor.html#TYPE_AMBIENT_TEMPERATURE
I think this is what you're looking for
Has anyone any idea about the real-time aspect of Samsung Sensor Simulator(http://developer.samsung.com/android/tools-sdks/Samsung-Sensor-Simulator)?
Their site does say indicate it's record-and-replay but not sure if I
get that right from their documentation. So, I have the below questions which
I have asked their forum as well. But, I am curios to know if anyone here
have tried it and have had some experiences to share.
Are the real hardware sensor readings of a linked device available
on the Android emulator available in real-time? I saw it saying
"Sensor Relay" which sounds like only record-and-replay of real
hardware sensor readings on the emulator linked to a real device.
If it's real-time, then how fast are the sensor readings reaching
from the linked device to the emulator?
Can any sensor-based application running on the emulator use these
sensor readings in real-time?
In order to use these sensor readings, do the sensor-based
applications need to be modified to include some extra specific code
to interact with some module of this simulator inside the emulator
from which the sensor readings are got and hence can be used within
that interacting sensor-based application in the emulator?
Why is Samsung Sensor Simulator not compatible with Linux variants
like Ubuntu?
Is it only compatible with Android 2.2 as it's mentioned in the
documentation and not higher?
Android SDK must be of API 9 - is this a must or will it also work
the latest API 19 but with some minor issues which can be ignored?
Can more than one sensor be active and be visualized in the eclipse
IDE plugin interface? If yes, assuming any sensor-based application
running on the emulator can use these sensor readings, can more than
one sensor-based application use the different sensors readings at
the same time in real-time?
Thanks,
Raghavan