Wykrywanie zdarzeń bazuje na akcelerometrze Edge. Po wykryciu upadku Edge przesyła przez BT informacje o tym do Connect w smartfonie, a ten wysyła to tam, gdzie użytkownik sobie zażyczył.
Tak jak napisałem (w nawiasie!) uprawnienia lokalizacji w smartfonie niezbędne są do wymiany danych przez BT.
Dokładne wyjaśnienie uprawnień aplikacji do BT w Androidzie tu: https://developer.an...oth#Permissions
A dokładnie to chodzi o tą część:
Uprawnienia Bluetooth
Aby korzystać z funkcji Bluetooth w swojej aplikacji, musisz zadeklarować dwa uprawnienia. Pierwszy z nich to BLUETOOTH. Uprawnienie to jest potrzebne do wykonywania dowolnej komunikacji Bluetooth, takiej jak żądanie połączenia, akceptowanie połączenia i przesyłanie danych.
Innym zezwoleniem, które musisz zadeklarować, jest ACCESS_FINE_LOCATION. Twoja aplikacja potrzebuje tego uprawnienia, ponieważ skanowanie Bluetooth może służyć do zbierania informacji o lokalizacji użytkownika. Informacje te mogą pochodzić z własnych urządzeń użytkownika, a także z sygnałów nawigacyjnych Bluetooth używanych w miejscach takich jak sklepy i punkty komunikacji miejskiej.
To ostatnie jest niezbędne nawet do korzystania z przesyłania danych z np. wagi. Tak, to nie żart, i wcale nie oznacza, że waga przesyła dane swojej lokalizacji. Tak to jest w Androidzie zrobione (od wersji 6.0) i należy po prostu o tym pamiętać.