Ausnahmen abfangen und verarbeiten

Health Connect löst Standardausnahmen für CRUD-Vorgänge aus, wenn ein Problem gefunden wurden. Ihre App sollte jede dieser Ausnahmen wie folgt erfassen und verarbeiten: angemessen sein.

Jede Methode für HealthConnectClient listet die Ausnahmen auf, die ausgelöst werden können. Im Allgemeinen sollte Ihre App die folgenden Ausnahmen verarbeiten:

Ausnahme Beschreibung Empfohlene Best Practice
SecurityException Es sind Probleme aufgetreten, wenn für die Anfragen Berechtigungen, die nicht gewährt werden. Um dies zu vermeiden, deklarierte Nutzung von Health Connect-Datentypen für Ihre veröffentlichten Daten Außerdem musst du Health Connect-Berechtigungen in der Manifestdatei und in Ihrer Aktivität.

IOException Beim Lesen und Schreiben von Daten aus Laufwerk. Hier sind einige Vorschläge, wie Sie dieses Problem vermeiden können:

  • Sichern Sie alle Nutzereingaben.
  • In der Lage sein, alle Probleme zu bewältigen, die bei Bulk-Schreibvorgängen auftreten. Für Stellen Sie sicher, dass der Prozess über das Problem hinausgeht, und führen Sie die verbleibenden Vorgänge.
  • Wenden Sie Wiederholungsversuche und Backoff-Strategien an, um Anfrageprobleme zu beheben.

IllegalStateException Eines der folgenden Szenarien ist eingetreten:

  • Der Health Connect-Dienst ist nicht verfügbar.
  • Die Anfrage ist keine gültige Konstruktion. Eine zusammengefasste Anfrage in Regelmäßige Buckets, in denen ein Instant-Objekt für die timeRangeFilter verwendet wird.

Beheben Sie mögliche Probleme mit den Eingaben, bevor Sie eine Anfrage senden. Weisen Sie Variablen Werte zu oder verwenden Sie diese als Parameter in einem benutzerdefinierten anstatt sie direkt in Ihren Anfragen zu verwenden. zur Fehlerbehandlung.
RemoteException Innerhalb oder bei der Kommunikation sind Fehler aufgetreten. mit dem zugrunde liegenden Dienst, mit dem das SDK eine Verbindung herstellt.

Beispiel: Deine App versucht, einen Eintrag mit einer bestimmten uid zu löschen. Die Ausnahme wird ausgelöst, nachdem die App bei der Überprüfung im zugrunde liegenden Dienst festgestellt hat, Der Datensatz ist nicht vorhanden.
Hier sind einige Vorschläge, wie Sie dieses Problem vermeiden können:

  • Führen Sie regelmäßige Synchronisierungen zwischen dem Datenspeicher Ihrer App und Health Connect durch.
  • Wenden Sie Wiederholungsversuche und Backoff-Strategien an, um Anfrageprobleme zu beheben.