Sto cercando un modo per sospendere le notifiche su un dato ContentProvider
di Uri
. Il caso d'uso è:Disabilitare le notifiche su un URI ContentProvider
- Un
Activity
è associato a unCursorAdapter
attraverso unCursorLoader
. - A
Service
È possibile eseguire molti aggiornamenti batch, riga singola su unContentProvider
. - Il
CursorLoader
ricaricherà il contenuto su ogni aggiornamento di riga, poiché loContentProvider
notifica i listenerContentResolver#notifyChange
.
Poiché non posso modificare il ContentProvider
, e non ho alcun controllo sull'esecuzione di query in batch, c'è un modo per sospendere le notifiche su un Uri
(in esecuzione Service
) fino a quando tutti i ContentProvider
query -computer sono stati eseguito? Ne ho bisogno per evitare lo sfarfallio causato dalla continua richiesta del CursorLoader
.
Per ottenere questo diritto: non avete né influenza sul servizio, né il CP? Se, d'altro canto, il Servizio è sotto il tuo controllo, ti preghiamo di fornire maggiori dettagli su quale tipo di aggiornamenti CP stai facendo. –
Sto eseguendo una serie di query "UPDATE o INSERT" all'interno di un semplice ciclo 'for'. Sto usando un 'ContentProvider' che notifica dopo ogni' insert' o 'update' ma, in questa particolare situazione, voglio essere in grado di sospendere tutte le notifiche fino a quando non ho finito di aggiornare tutte le entità. – frapontillo
Per essere ancora più dettagliato, sto generando il mio ContentProvider con un generatore di Nicolas Klein (https: // github.com/foxykeep/ContentProviderCodeGenerator) che, alla fine di un aggiornamento (valori Uri uri, valori ContentValues, selezione String, String [] selectionArgs) 'fa un semplice' getContext(). getContentResolver(). notifyChange (uri, null); '. – frapontillo