Проблема в том, что оборудование, которое я использовал, не полностью поддерживает методы. Кстати, Камилла вдохновила меня по этой ссылке: Обнаружение пальца в Android - Ориентация и эллипс .
Затем я протестировал свою программу на 4 устройствах Android: Nexus 5, Galaxy Note 8, Galaxy Tab S и Pixel 3 XL.
Результаты:
Galaxy Note 8, Galaxy Tab S и Pixel 3 XL могут отличать большую ось от малой оси.
Все 4 устройства не могли вернуть значимое значение методом getOrientation ().
Galaxy Note 8 имеет лучшую точность, тогда как Galaxy Tab S и Pixel 3 XL, Nexus 5 имеет низкую точность.
Создайте свой сервис так, чтобы он реализовал интерфейс. Затем можно или дразнить интерфейс в клиенте или создать поддельную реализацию интерфейса для использования в тестах.