Du bör använda ContentProviderOperation. Eftersom det är din ContentProvider
du kan försäkra dig om att applyBatch()
kommer att utföra alla operationer inom en transaktion. Alla standardinnehållsleverantörer ser också till att så är fallet.
Se mitt blogginlägg om ContentProviderOperation i allmänhet och mitt andra inlägg om hur man använder withBackReference() för att komma åt resultat från tidigare operationer - som du behöver för att komma åt orderId
.
En viktig varning:Alla ContentProviderOperations
av en batch måste använda samma auktoritet - men kan använda olika URI:er! I ditt fall borde det inte vara några problem.