Danke für deine schnelle Antwort ChampS. Ich habe es mit einem Service probiert, aber leider mit dem gleichen Ergebnis.
Letztendlich habe ich mich aber letzte halbe Nacht drangesetzt - und das Problem gefunden! Ich möchte erklären, was es war.
Als Ausgangspunkt habe ich eher durch Zufall den Befehl android.os.Debug.waitForDebugger() gefunden. Denn das war eines der Probleme: Solange die Haupt-App läuft, kann ich debuggen. Wenn ich die Haupt-App beende - eben damit das Problem auftritt - ist es mit dem Debuggen vorbei. Mit dem oben genannten Befehl geht es aber. Und da habe ich folgendes festgestellt: mein WindgetProvider nutzt eine statische Variable aus der MainActivity. Sobald die MainActivity beendet wird, ist diese Variable auch weg. Das Widget stürzt ab. Tja, Programmierfehler. Ich hoffe, ihr lacht mich nicht aus.
Aber das war nur der offensichtlichste Fehler. Ich habe noch weitere Variablen gefunden, die Probleme verursachen, sobald die Haupt-App beendet wird. Die Lösung war dann folgende.
1) Wo es wirklich nötig ist, werden die gleichen Operationen in der onUpdate-Funktion ausgeführt, wie in der MainActivity.
2) Die Variablen, die explizit von dem gedrückten Button auf dem Widget abhängen, habe ich über intent.putExtra direckt in den Button reingeschrieben und lese sie dann über intent.getIntExtra bzw. intent.getStringExtra wieder aus.
Ich hoffe, meine Ausführungen helfen jemandem weiter und freue mich auf Eure Anregungen. Ansonsten kann dieser Beitrag als geschlossen markiert werden.
Viele Grüße,
Greg