İstisnaları yakalama ve işleme

Health Connect, bir sorun olduğunda CRUD işlemleri için standart istisnalar geçerli kılar karşılaşılır. Uygulamanız bu istisnaların her birini uygun olmalıdır.

HealthConnectClient üzerindeki her yöntem, atılabilecek istisnaları listeler. Genel olarak, uygulamanız aşağıdaki istisnaları işlemelidir:

İstisna Açıklama Önerilen en iyi uygulama
SecurityException İstekler gerektiğinde izin verilmez. Bunu önlemek için Health Connect veri türlerinin beyan edilmiş olması uygulamasını indirin. Ayrıca Health Connect izinlerini de beyan etmeniz gerekir manifest dosyasında ve etkinliğinizde bulabilirsiniz.

IOException disk. Bu sorunu yaşamamanız için bazı öneriler:

  • Kullanıcı girişlerini yedekleyin.
  • Toplu yazma işlemleri sırasında ortaya çıkan sorunları çözebilmelisiniz. Örneğin, Örneğin, sürecin geçmişte kaldığından emin olun ve kalan işlemlerdir.
  • İstek sorunlarını ele almak için yeniden deneme ve geri alma stratejileri uygulama.

IllegalStateException Aşağıdaki senaryolardan biri gerçekleşti:

  • Health Connect hizmeti kullanılamaz.
  • İstek geçerli bir yapı değil. Örneğin, timeRangeFilter için Instant nesnesinin kullanıldığı periyodik paketler.

Bir istekte bulunmadan önce girişlerle ilgili olası sorunları giderin. Tercihen, değişkenlere değer atayın veya bunları özel bir işlevini kullanarak bunları doğrudan isteklerinizde kullanmak yerine öğrenebilirsiniz.
RemoteException İçinde veya iletişim sırasında hatalar oluştu temel hizmeti sunar.

Örneğin, uygulamanız belirli bir uid ile bir kaydı silmeye çalışıyor. Ancak, uygulama, temel hizmette hata olduğunu öğrendikten sonra Kayıt mevcut değil.
Bu sorunu yaşamamanız için bazı öneriler:

  • Uygulamanızın veri deposu ile Health Connect arasında düzenli senkronizasyonlar yapın.
  • İstek sorunlarını ele almak için yeniden deneme ve geri alma stratejileri uygulama.