Ich habe eine benutzerdefinierte Methode save()
in meiner benutzerdefinierten ContentProvider-Klasse MyContentProvider
, die ich über den ContentResolver aufrufen möchte. Ziel ist es, einen POJO als Bundle an MyContentProvider
zu übergeben.Wie rufe ich benutzerdefinierte Methode in ContentProvider durch ContentResolver und Zugriff danach Bundle?
Ich verwende die call
Methode wie erwähnt here und definierte here.
Ich bekomme keine Fehler. Auf die Methode wird gerade nicht zugegriffen.
Die (verkürzte), kundenspezifische Contentprovider mit der benutzerdefinierten Methode sieht wie folgt aus:
public class MyContentProvider extends ContentProvider {
public void save() {
Log.d("Test method", "called");
}
}
ich es so nennen:
ContentResolver contentResolver = context.getContentResolver();
Bundle bundle = new Bundle();
bundle.putSerializable("pojo", getPojo());
contentResolver.call(Contracts.CONTENT_URI, "save", null, bundle);
Warum ist die save
Methode nie aufgerufen und wenn ich zu diesem Punkt, wie greife ich auf das aufgerufene Uri und das Bündel in der Methode save()
? Ich konnte nirgendwo auf SO oder im Internet eine Referenz finden.
Vielen Dank für Ihre Antworten!
Sie müssen Call-Methode in Ihrem CP überschreiben ... und rufen Sie dann Funktion von dort speichern ... – Selvin
@Selvin Das funktioniert! Vielen Dank. Wenn Sie es als Antwort hinzufügen, akzeptiere ich es. – OpenHaus