Bind Enumerazione
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Enumera i valori restituiti da diversi metodi di Bind
Questa enumerazione supporta una combinazione bit per bit dei rispettivi valori dei membri.
[System.Flags]
public enum Bind
[<System.Flags>]
type Bind =
- Ereditarietà
-
Bind
- Attributi
Campi
| Nome | Valore | Descrizione |
|---|---|---|
| ExternalService | -2147483648 | Flag per bindService(Intent, BindServiceFlags, Executor, ServiceConnection): il servizio associato è un servizio esterno isolato. In questo modo il servizio viene associato al pacchetto dell'applicazione chiamante, anziché al pacchetto in cui viene dichiarato il servizio. Quando si usa questo flag, il codice per il servizio associato verrà eseguito con il nome del pacchetto e l'ID utente dell'applicazione chiamante. Poiché il servizio deve essere un processo isolato, tuttavia, non avrà accesso diretto ai dati dell'applicazione. Lo scopo di questo flag è consentire alle applicazioni di fornire servizi attribuiti all'app usando il servizio, anziché l'applicazione che fornisce il servizio. Questo flag non è compatibile con BindServiceFlags . Se è necessario usare BindServiceFlags , è invece necessario usare BIND_EXTERNAL_SERVICE_LONG. |
| None | 0 | Specifica che non sono impostati flag di associazione. |
| AutoCreate | 1 | Flag per bindService(Intent, BindServiceFlags, Executor, ServiceConnection): crea automaticamente il servizio purché esista l'associazione. Si noti che, mentre questo creerà il servizio, il relativo metodo Service.onStartCommand(Intent, int, int) verrà comunque chiamato solo a causa di una chiamata esplicita a startService(Intent) . Anche senza questo, tuttavia, questo consente comunque di accedere all'oggetto servizio durante la creazione del servizio. Si noti che prima di Build.VERSION_CODES. ICE_CREAM_SANDWICH , non specificando questo flag, influisce anche sull'importanza del processo del servizio di destinazione da considerare nel sistema. Se impostato, l'unico modo in cui deve essere generato è stato l'associazione da un servizio, nel qual caso sarà importante solo quando tale attività è in primo piano. A questo scopo, è necessario specificare in modo esplicito il nuovo flag BIND_ADJUST_WITH_ACTIVITY . Per la compatibilità, le applicazioni precedenti che non specificano BIND_AUTO_CREATE avranno automaticamente i flag BIND_WAIVE_PRIORITY e BIND_ADJUST_WITH_ACTIVITY impostati per ottenere lo stesso risultato. |
| DebugUnbind | 2 | Flag per bindService(Intent, BindServiceFlags, Executor, ServiceConnection): include la Guida di debug per le chiamate non corrispondenti a unbind. Quando questo flag è impostato, il callstack della chiamata unbindService(ServiceConnection) seguente viene mantenuto, da stampare se viene eseguita una chiamata non associata non corretta successiva. Si noti che questa operazione richiede la conservazione delle informazioni sull'associazione effettuata per la durata dell'app, con conseguente perdita di dati. Questa operazione deve essere usata solo per il debug. |
| NotForeground | 4 | Flag per bindService(Intent, BindServiceFlags, Executor, ServiceConnection): non consentire a questa associazione di generare il processo del servizio di destinazione alla priorità di pianificazione in primo piano. Verrà comunque generato almeno alla stessa priorità di memoria del client (in modo che il processo non sarà terminabile in alcuna situazione in cui il client non è terminabile), ma per scopi di pianificazione della CPU potrebbe essere lasciato in background. Questo ha un impatto solo sulla situazione in cui il client di associazione è un processo in primo piano e il servizio di destinazione si trova in un processo in background. |
| AboveClient | 8 | Flag per bindService(Intent, BindServiceFlags, Executor, ServiceConnection): indica che l'associazione dell'applicazione client a questo servizio considera il servizio più importante dell'app stessa. Se impostata, la piattaforma tenterà di uccidere l'app fuori memoria prima di uccidere il servizio a cui è associato, anche se non è garantito che questo sia il caso. |
| AllowOomManagement | 16 | Flag per bindService(Intent, BindServiceFlags, Executor, ServiceConnection): consente al processo che ospita il servizio associato di passare attraverso la normale gestione della memoria. Verrà trattato più come un servizio in esecuzione, consentendo al sistema di (temporaneamente) di espellere il processo se memoria insufficiente o per altri capricci potrebbe avere, e essere più aggressivo per renderlo un candidato da uccidere (e riavviato) se in esecuzione per molto tempo. |
| WaivePriority | 32 | Flag per bindService(Intent, BindServiceFlags, Executor, ServiceConnection): non influisce sulla pianificazione o sulla priorità di gestione della memoria del processo di hosting del servizio di destinazione. Consente di gestire il processo del servizio nell'elenco LRU in background proprio come un normale processo dell'applicazione in background. |
| Important | 64 | Flag per bindService(Intent, BindServiceFlags, Executor, ServiceConnection): questo servizio è molto importante per il client, quindi deve essere portato al livello di processo in primo piano quando il client è. In genere un processo può essere elevato solo al livello di visibilità da un client, anche se tale client è in primo piano. |
| AdjustWithActivity | 128 | Flag per bindService(Intent, BindServiceFlags, Executor, ServiceConnection): se l'associazione da un'attività consente di aumentare l'importanza del processo del servizio di destinazione in base al fatto che l'attività sia visibile all'utente, indipendentemente dal fatto che venga usato un altro flag per ridurre la quantità di importanza complessiva del processo client per influenzarla. |
| NotPerceptible | 256 | Flag per bindService(Intent, BindServiceFlags, Executor, ServiceConnection): se l'associazione da un'app visibile o visibile dall'utente, abbassare l'importanza del servizio di destinazione al di sotto del livello percepibile. In questo modo il sistema può (temporaneamente) espellere il processo associato dalla memoria per liberare spazio per processi più importanti percepibili dall'utente. |
| AllowActivityStarts | 512 | Flag per bindService(Intent, BindServiceFlags, Executor, ServiceConnection): se l'associazione da un'app visibile, il servizio associato può avviare un'attività in background. Questo è il comportamento predefinito prima del Build.VERSION_CODES della versione dell'SDK. UPSIDE_DOWN_CAKE . Da allora, il comportamento predefinito è cambiato in modo da impedire al servizio associato di avviare un'attività in background anche se l'app associata è in primo piano, a meno che questo flag non venga specificato durante l'associazione. |
| IncludeCapabilities | 4096 | Flag per bindService(Intent, BindServiceFlags, Executor, ServiceConnection): se l'associazione da un'app con funzionalità specifiche a causa dello stato in primo piano, ad esempio un'attività o un servizio in primo piano, questo flag consentirà all'app associata di ottenere le stesse funzionalità, purché disponga delle autorizzazioni necessarie. Se l'associazione da un'app principale e la versione dell'SDK di destinazione si trova in corrispondenza o superiore Build.VERSION_CODES. R , l'app deve usare in modo esplicito BIND_INCLUDE_CAPABILITIES flag per passare tutte le funzionalità al servizio in modo che l'altra app possa avere accesso durante l'uso, ad esempio posizione, fotocamera, microfono dallo sfondo. Se il binding da un'app principale e la relativa versione dell'SDK di destinazione sono riportati di seguito Build.VERSION_CODES. R , BIND_INCLUDE_CAPABILITIES è implicito. |
| SharedIsolatedProcess | 8192 | Flag per bindIsolatedService(Intent, BindServiceFlags, String, Executor, ServiceConnection): associare il servizio a un processo isolato condiviso. La specifica di questo flag consente l'esecuzione di più servizi isolati in un singolo processo isolato condiviso. L'istanza del processo isolato condiviso è identificata dal parametro instanceName in bindIsolatedService(Intent,int,String,Executor,ServiceConnection). Le chiamate successive per associareIsolatedService(Intent, BindServiceFlags, String, Executor, ServiceConnection) con lo stesso instanceName causeranno la condivisione del servizio isolato nello stesso processo isolato. Si noti che il processo isolato condiviso ha come ambito l'app chiamante; una volta creata, solo l'app chiamante può associare servizi isolati aggiuntivi al processo condiviso. Tuttavia, i servizi stessi possono provenire da DIVERSE API e quindi fornitori diversi. Solo i servizi che impostano l'attributo R.attr.allowSharedIsolatedProcess su true possono essere associati a un processo isolato condiviso. |
| PackageIsolatedProcess | 16384 | Flag per bindIsolatedService(Intent, BindServiceFlags, String, Executor, ServiceConnection): associare il servizio a un processo isolato condiviso, ma solo con altri servizi isolati dello stesso pacchetto che dichiarano lo stesso nome di processo. La specifica di questo flag consente l'esecuzione di più servizi isolati nello stesso pacchetto in un singolo processo isolato condiviso. Questo processo isolato condiviso deve essere specificato perché questo flag non funzionerà con il processo dell'applicazione predefinito. Questo flag è diverso da BIND_SHARED_ISOLATED_PROCESS poiché consente solo i servizi di associazione dello stesso pacchetto nello stesso processo isolato condiviso. Questo significa anche che il processo isolato del pacchetto condiviso è globale e non ha ambito per ogni potenziale app chiamante. L'istanza del processo isolato condiviso è identificata dall'attributo "android:process" definito dal servizio. Questo flag non può essere usato senza questo set di attributi. Valore costante: 16384 (0x00004000) |
Commenti
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.