Wykrywanie i obsługa wyjątków

Health Connect zgłasza standardowe wyjątki w przypadku operacji CRUD, gdy problem napotkano problem. Aplikacja powinna wychwytywać i obsługiwać każdy z tych wyjątków jako odpowiednie.

Każda metoda w HealthConnectClient zawiera listę wyjątków, które mogą zostać zgłoszone. Zasadniczo aplikacja powinna obsługiwać te wyjątki:

Wyjątek Opis Zalecana sprawdzona metoda
SecurityException Wystąpiły problemy, gdy żądania wymagają których nie da się zastosować. Aby tego uniknąć, upewnij się, że deklarowane wykorzystywanie typów danych z Health Connect na potrzeby opublikowanych . Musisz też zadeklarować uprawnienia do Health Connect w pliku manifestu i w aktywności.

IOException Podczas odczytywania i zapisywania danych z usługi wystąpiły problemy dysku. Oto kilka wskazówek, które pomogą Ci uniknąć tego problemu:

  • Utwórz kopię zapasową wszystkich danych wejściowych użytkownika.
  • Musisz umieć poradzić sobie z wszelkimi problemami, które pojawiają się podczas operacji zbiorczego zapisu. Dla: np. upewnij się, że proces wychodzi poza problem i przeprowadź proces pozostałych operacji.
  • Stosuj strategie ponownych prób i wycofywania, aby rozwiązywać problemy z żądaniami.

IllegalStateException Wystąpił jeden z tych scenariuszy:

  • Usługa Health Connect jest niedostępna.
  • Żądanie nie jest prawidłową konstrukcją. Na przykład żądanie zbiorcze w zasobników okresowych, w których na potrzeby timeRangeFilter używany jest obiekt Instant.

Zanim wyślesz prośbę, rozwiąż możliwe problemy z danymi wejściowymi. Najlepiej przypisać wartości do zmiennych lub użyć ich jako parametrów w obrębie niestandardowej zamiast używać ich bezpośrednio w żądaniach, dzięki czemu można zastosować strategii obsługi błędów.
RemoteException Wystąpiły błędy w komunikacji lub w komunikacji z podstawową usługą, z którą łączy się pakiet SDK.

Na przykład: aplikacja próbuje usunąć rekord z daną wartością uid. Wyjątkiem jest zgłaszane po sprawdzeniu przez aplikację bazową, która rekord nie istnieje.
Oto kilka wskazówek, które pomogą Ci uniknąć tego problemu:

  • Wykonuj regularne synchronizacje między magazynem danych aplikacji a Health Connect.
  • Stosuj strategie ponownych prób i wycofywania, aby rozwiązywać problemy z żądaniami.