Powinieneś użyć ContentProviderOperation. Ponieważ jest to Twój ContentProvider
możesz zapewnić, że applyBatch()
wykona wszystkie operacje w ramach transakcji. Wszyscy standardowi dostawcy treści również zapewniają, że tak jest.
Zobacz mój post na blogu o ContentProviderOperation w ogóle i mój inny post o tym, jak używać withBackReference(), aby uzyskać dostęp do wyników poprzednich operacji - których potrzebujesz, aby uzyskać dostęp do orderId
.
Jedno ważne zastrzeżenie:wszystkie ContentProviderOperations
jednej partii musi używać tych samych uprawnień — ale może używać różnych identyfikatorów URI! W twoim przypadku nie powinno to stanowić problemu.