Ich habe einen benutzerdefinierten Inhaltsanbieter in meiner Android-App, der einigermaßen gut funktioniert. Ich erwarte, dass andere Apps auch auf meinen Inhaltsanbieter zugreifen. Ich möchte eine saubere Möglichkeit, Ausnahmen und Fehler zu kommunizieren, aber soweit ich das beurteilen kann, bietet das Android Content Provider Framework keine Möglichkeit, Ausnahmen über Prozesse hinweg zu verbreiten.Umgang mit (prozessübergreifenden) Ausnahmen im benutzerdefinierten Android-Inhaltsanbieter
Wie soll ich meinem Anrufer einen Ausnahmezustand anzeigen? Muss ich es irgendwie in meine zurückgesendeten Daten kodieren und mich darauf verlassen, dass die Kunden danach suchen? Gibt es eine Alternative? Wenn es in die gewöhnlichen Rückgabedaten kodiert ist, was ist der beste Weg? (Kann ich eine Reihe von Alternativen für die Cursor
sehen von einem query
Aufruf zurückgegeben, aber was ist mit dem Uri
von insert
zurückgegeben oder die int
zurück von update
oder delete
?)
Wenn Sie versucht haben, irgendeine Art von 'RuntimeException' aus Ihrem' ContentProvider' auszulösen, was ist passiert? – CommonsWare
Mit 'ContentProviderClient' geben' query' und 'insert' beide' null' zurück, wenn der Provider eine 'RuntimeException' auslöst. Im Logcat kann ich eine Nachricht mit dem Tag 'JavaBinder' sehen:' *** Uncaught remote exception! (Ausnahmen werden noch nicht prozeßübergreifend unterstützt.) ' –