sto sviluppando un composto visualizzazione personalizzata che ha bisogno di accedere a storage esterno
IMHO, questo è un bug di architettura. Un View
è per la visualizzazione di materiale per l'utente e talvolta per la raccolta di eventi di input di basso livello e per trasformarli in costrutti di ordine superiore (ad es. Clic, scorrimento). A View
non dovrebbe avere alcuna connessione a file, database, ecc. Vedere MVC, MVP, MVVM e modelli di architettura GUI simili.
WebView
, che non rispetta questo, causa problemi (ad esempio, esecuzione di I/O del disco sul thread dell'applicazione principale) come risultato.
Come posso implementare la gestione delle autorizzazioni senza coinvolgere soggetti esterni, ad esempio Attività o Frammento?
Non è possibile. È responsabilità dell'attività o del frammento richiedere l'autorizzazione, presumibilmente prima che la tua vista abbia bisogno di questi dati.
quale sarebbe la soluzione più elegante per gestire qualcosa di simile?
Estrarre la parte di accesso ai dati di questo View
in qualcos'altro che è gestito dalla attività o frammento, dove la filettatura, i permessi, e altri lavori associati a tale accesso ai dati possono essere gestiti.