InputMethodManager Classe
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.
API di sistema centrale per l'architettura generale del framework del metodo di input (IMF), che arbitra l'interazione tra le applicazioni e il metodo di input corrente.
[Android.Runtime.Register("android/view/inputmethod/InputMethodManager", DoNotGenerateAcw=true)]
public sealed class InputMethodManager : Java.Lang.Object
[<Android.Runtime.Register("android/view/inputmethod/InputMethodManager", DoNotGenerateAcw=true)>]
type InputMethodManager = class
inherit Object
- Ereditarietà
- Attributi
Commenti
API di sistema centrale per l'architettura generale del framework del metodo di input (IMF), che arbitra l'interazione tra le applicazioni e il metodo di input corrente.
Argomenti trattati qui: <ol><li>Architecture Overview<li Applications<li>Input Methods<li>>Security</ol>
Panoramica dell'architettura< "ArchitectureOverview"><h3>>
Esistono tre parti principali coinvolte nell'architettura del framework dei metodi di input (FMI):
<ul><li> Il <gestore< di metodi di input forte>/forte> espresso da questa classe è il punto centrale del sistema che gestisce l'interazione tra tutte le altre parti. Viene espressa come API lato client che esiste in ogni contesto dell'applicazione e comunica con un servizio di sistema globale che gestisce l'interazione tra tutti i processi. <li> Un <metodo di input sicuro>(IME)</strong> implementa un particolare modello di interazione che consente all'utente di generare testo. Il sistema viene associato al metodo di input corrente in uso, causandone la creazione e l'esecuzione e indica quando nascondere e visualizzare l'interfaccia utente. Viene eseguito un solo IME alla volta. <li Multiple strong client applications/strong arbitrate with the input method manager for input focus and control over the state of the IME.li> Multiple <strong>client applications</strong> arbitrate with the input method manager for input focus and control over the state of the IME. Solo un client di questo tipo è sempre attivo (lavorando con l'IME) alla volta. </ul>
"Applications"><h3>Applications</h3>
Nella maggior parte dei casi, le applicazioni che usano lo standard android.widget.TextView
o le relative sottoclassi avranno poco da fare per funzionare bene con i metodi di input soft. Le cose principali di cui tenere conto sono:
<ul><li> Impostare android.R.attr#inputType
correttamente nelle visualizzazioni di testo modificabili, in modo che il metodo di input abbia un contesto sufficiente per aiutare l'utente a immettere testo in essi. <li> Consente di perdere spazio sullo schermo quando viene visualizzato il metodo di input. Idealmente, un'applicazione deve gestire il ridimensionamento della finestra di dimensioni inferiori, ma può basarsi sul sistema che esegue la panoramica della finestra, se necessario. È consigliabile impostare l'attributo sull'attività android.R.attr#windowSoftInputMode
o i valori corrispondenti nelle finestre create per aiutare il sistema a determinare se eseguire la panoramica o il ridimensionamento (tenterà di determinarlo automaticamente, ma potrebbe verificarsi un errore). <li> È anche possibile controllare lo stato di input flessibile preferito (aperto, chiuso e così via) per la finestra usando lo stesso android.R.attr#windowSoftInputMode
attributo. </ul>
Un controllo più granulare è disponibile tramite le API qui per interagire direttamente con il FMI e il relativo IME, mostrando o nascondendo l'area di input, consentendo all'utente di selezionare un metodo di input e così via.
Per le persone rare tra noi che scrivono i propri editor di testo, è necessario implementare android.view.View#onCreateInputConnection
per restituire una nuova istanza della propria InputConnection
interfaccia consentendo all'IME di interagire con l'editor.
"InputMethods"><h3>Metodi< di input/h3>
Un metodo di input (IME) viene implementato come , android.app.Service
in genere derivando da android.inputmethodservice.InputMethodService
. Deve fornire l'interfaccia principale InputMethod
, anche se in genere viene gestita da android.inputmethodservice.InputMethodService
e gli implementatori dovranno gestire solo l'API di livello superiore.
Per altre informazioni sull'implementazione di IMEs, vedere la android.inputmethodservice.InputMethodService
classe .
"Sicurezza"><h3>Sicurezza</h3>
Ci sono molti problemi di sicurezza associati ai metodi di input, poiché essenzialmente hanno la libertà di guidare completamente l'interfaccia utente e monitorare tutto ciò che l'utente entra. Il framework del metodo di input Android consente anche messaggistica istantanea arbitraria di terze parti, pertanto è necessario prestare attenzione a limitare la selezione e le interazioni.
Ecco alcuni punti chiave sull'architettura di sicurezza dietro il FMI:
<ul><li>
Solo il sistema può accedere direttamente all'interfaccia di InputMethod
un IME tramite l'autorizzazione android.Manifest.permission#BIND_INPUT_METHOD
. Questo viene applicato nel sistema non eseguendo l'associazione a un servizio del metodo di input che non richiede questa autorizzazione, pertanto il sistema può garantire che nessun altro client non attendibile acceda al metodo di input corrente al di fuori del controllo.
<li>
Ci possono essere molti processi client del FMI, ma solo uno può essere attivo alla volta. I client inattivi non possono interagire con parti chiave del FMI attraverso i meccanismi descritti di seguito.
<li>
Ai client di un metodo di input viene concesso l'accesso solo alla relativa InputMethodSession
interfaccia. Viene creata un'istanza di questa interfaccia per ogni client e solo le chiamate dalla sessione associata al client attivo verranno elaborate dall'IME corrente. Questo viene applicato da android.inputmethodservice.AbstractInputMethodService
per le normali messaggistica istantanea, ma deve essere gestito in modo esplicito da un IME che sta personalizzando l'implementazione non elaborata InputMethodSession
.
<li>
Solo il client InputConnection
attivo accetterà le operazioni. Il FMI indica a ogni processo client se è attivo e il framework impone che le chiamate inattive a InputConnection corrente verranno ignorate. Ciò garantisce che l'IME corrente possa recapitare solo gli eventi e le modifiche di testo all'interfaccia utente che l'utente vede come attivo.
<li>
Un IME non può mai interagire con un InputConnection
mentre lo schermo è spento. Questo viene applicato rendendo tutti i client inattivi mentre lo schermo è disattivato e impedisce agli imes non valido di guidare l'interfaccia utente quando l'utente non può essere a conoscenza del suo comportamento.
<li>
Un'applicazione client può chiedere che il sistema consenta all'utente di selezionare un nuovo IME, ma non può passare a livello di codice a uno stesso. Ciò evita alle applicazioni dannose di passare l'utente al proprio IME, che rimane in esecuzione quando l'utente passa a un'altra applicazione. Un IME, d'altra parte, <em>è< autorizzato a> passare a livello di codice il sistema a un altro IME, poiché ha già il controllo completo dell'input dell'utente.
<li>
L'utente deve abilitare in modo esplicito un nuovo IME nelle impostazioni prima di poterlo passare, per confermare con il sistema di conoscerlo e renderlo disponibile per l'uso.
</ul>
Se l'app è destinata ad Android 11 (livello API 30) o superiore, i metodi in questa classe restituiscono un risultato filtrato in base alle regole di visibilità del pacchetto, ad eccezione dell'IME attualmente connesso. Le app che hanno una query per visualizzare InputMethod#SERVICE_INTERFACE
tutte le messaggistica istantanea.
Documentazione java per android.view.inputmethod.InputMethodManager
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal Android e usato in base ai termini descritti in 2.5 Attribution License Creative Commons 2.5 Attribution License.
Campi
ShowForced |
Flag per |
ShowImplicit |
Obsoleti.
Flag per |
Proprietà
Class |
Restituisce la classe di runtime di questo |
CurrentInputMethodInfo |
Restituisce l'oggetto |
CurrentInputMethodSubtype |
Restituisce il sottotipo del metodo di input corrente. |
EnabledInputMethodList |
Restituisce l'elenco dei metodi di input abilitati. |
Handle |
Handle per l'istanza di Android sottostante. (Ereditato da Object) |
InputMethodList |
Restituisce l'elenco dei metodi di input installati. |
IsAcceptingText |
Restituisce |
IsActive |
Restituisce |
IsFullscreenMode |
Consente di determinare se il metodo di input collegato è in esecuzione in modalità schermo intero. |
IsInputMethodSuppressingSpellChecker |
Restituisce |
IsStylusHandwritingAvailable |
Restituisce |
JniIdentityHashCode |
API di sistema centrale per l'architettura generale del framework del metodo di input (IMF), che arbitra l'interazione tra le applicazioni e il metodo di input corrente. (Ereditato da Object) |
JniPeerMembers |
API di sistema centrale per l'architettura generale del framework del metodo di input (IMF), che arbitra l'interazione tra le applicazioni e il metodo di input corrente. |
LastInputMethodSubtype |
Restituisce l'ultimo oggetto utilizzato nella cronologia |
PeerReference |
API di sistema centrale per l'architettura generale del framework del metodo di input (IMF), che arbitra l'interazione tra le applicazioni e il metodo di input corrente. (Ereditato da Object) |
ShortcutInputMethodsAndSubtypes |
Restituisce una mappa di tutte le informazioni sul metodo di input del collegamento e dei relativi sottotipi. |
ThresholdClass |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. (Ereditato da Object) |
ThresholdType |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. (Ereditato da Object) |
Metodi
AcceptStylusHandwritingDelegation(View) |
Accetta e avvia una sessione di grafia dello stilo nella visualizzazione delegata, se la delega di avvio della grafia è stata richiesta in precedenza usando |
AcceptStylusHandwritingDelegation(View, String) |
Accetta e avvia una sessione di grafia dello stilo nella visualizzazione delegata, se la delega di avvio della grafia è stata richiesta in precedenza tramite |
Clone() |
Crea e restituisce una copia di questo oggetto. (Ereditato da Object) |
DispatchKeyEventFromInputMethod(View, KeyEvent) |
Fornisce l'implementazione predefinita di , prevista per l'invio di |
DisplayCompletions(View, CompletionInfo[]) | |
Dispose() |
API di sistema centrale per l'architettura generale del framework del metodo di input (IMF), che arbitra l'interazione tra le applicazioni e il metodo di input corrente. (Ereditato da Object) |
Dispose(Boolean) |
API di sistema centrale per l'architettura generale del framework del metodo di input (IMF), che arbitra l'interazione tra le applicazioni e il metodo di input corrente. (Ereditato da Object) |
Equals(Object) |
Indica se un altro oggetto è "uguale a" questo. (Ereditato da Object) |
FromContext(Context) |
API di sistema centrale per l'architettura generale del framework del metodo di input (IMF), che arbitra l'interazione tra le applicazioni e il metodo di input corrente. |
GetEnabledInputMethodSubtypeList(InputMethodInfo, Boolean) |
Restituisce un elenco di sottotipi di metodo di input abilitati per le informazioni sul metodo di input specificate. |
GetHashCode() |
Restituisce un valore del codice hash per l'oggetto. (Ereditato da Object) |
HideSoftInputFromInputMethod(IBinder, HideSoftInputFlags) |
Chiudere/nascondere l'area di input flessibile del metodo di input, in modo che l'utente non lo veda più o possa interagire con esso. |
HideSoftInputFromWindow(IBinder, HideSoftInputFlags) |
Sinonimo di |
HideSoftInputFromWindow(IBinder, HideSoftInputFlags, ResultReceiver) |
Richiedere di nascondere la finestra di input leggero dal contesto della finestra che attualmente accetta l'input. |
HideStatusIcon(IBinder) |
Metodo deprecato. |
InvalidateInput(View) |
Fornisce un suggerimento al sistema che il testo associato |
InvokeIsActive(View) |
Restituisce |
IsWatchingCursor(View) |
Obsoleti.
Restituisce true se il metodo di input corrente desidera watch la posizione del cursore dell'editor di input nella relativa finestra. |
JavaFinalize() |
Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto . (Ereditato da Object) |
Notify() |
Riattiva un singolo thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
NotifyAll() |
Riattiva tutti i thread in attesa del monitoraggio di questo oggetto. (Ereditato da Object) |
PrepareStylusHandwritingDelegation(View) |
Prepara la delega della sessione di grafia dello stilo iniziale a un editor diverso nella stessa finestra o in una finestra diversa rispetto alla visualizzazione in cui è stato rilevato il tratto iniziale della grafia. |
PrepareStylusHandwritingDelegation(View, String) |
Prepara la delega della sessione di grafia dello stilo iniziale a un editor diverso in una finestra diversa in un pacchetto diverso rispetto alla visualizzazione in cui è stato rilevato il tratto iniziale della grafia. |
RestartInput(View) |
Se il metodo di input è attualmente connesso alla visualizzazione specificata, riavviarlo con il nuovo contenuto. |
SendAppPrivateCommand(View, String, Bundle) |
Chiamare |
SetAdditionalInputMethodSubtypes(String, InputMethodSubtype[]) |
Impostare sottotipi di metodo di input aggiuntivi. |
SetCurrentInputMethodSubtype(InputMethodSubtype) |
Passare a un nuovo sottotipo del metodo di input corrente. |
SetExplicitlyEnabledInputMethodSubtypes(String, Int32[]) |
Aggiornamenti l'elenco di abilitato in |
SetHandle(IntPtr, JniHandleOwnership) |
Imposta la proprietà Handle. (Ereditato da Object) |
SetInputMethod(IBinder, String) |
Forzare il passaggio a un nuovo componente del metodo di input. |
SetInputMethodAndSubtype(IBinder, String, InputMethodSubtype) |
Forzare il passaggio a un nuovo metodo di input e un sottotipo. |
ShouldOfferSwitchingToNextInputMethod(IBinder) |
Restituisce true se l'IME corrente deve offrire agli utenti modi per passare a un metodo di input successivo (e. |
ShowInputMethodAndSubtypeEnabler(String) |
Mostra le impostazioni per abilitare i sottotipi del metodo di input specificato. |
ShowInputMethodPicker() |
Mostra finestra popup selezione IME. |
ShowSoftInput(View, ShowFlags) |
Sinonimo di |
ShowSoftInput(View, ShowFlags, ResultReceiver) |
Richiedere in modo esplicito che l'area di input flessibile del metodo di input corrente venga visualizzata all'utente, se necessario. |
ShowSoftInputFromInputMethod(IBinder, ShowFlags) |
Mostra l'area di input flessibile del metodo di input, in modo che l'utente visualizzi la finestra del metodo di input e possa interagire con esso. |
ShowStatusIcon(IBinder, String, Int32) |
Metodo deprecato. |
StartStylusHandwriting(View) |
Avviare la sessione di grafia dello stilo. |
SwitchToLastInputMethod(IBinder) |
Forzare il passaggio all'ultimo metodo di input usato e al sottotipo. |
SwitchToNextInputMethod(IBinder, Boolean) |
Forzare il passaggio al metodo di input e al sottotipo di input successivo. |
ToArray<T>() |
API di sistema centrale per l'architettura generale del framework del metodo di input (IMF), che arbitra l'interazione tra le applicazioni e il metodo di input corrente. (Ereditato da Object) |
ToggleSoftInput(ShowFlags, HideSoftInputFlags) |
Questo metodo attiva o disattiva la visualizzazione della finestra del metodo di input. |
ToggleSoftInputFromWindow(IBinder, ShowSoftInputFlags, HideSoftInputFlags) |
Questo metodo attiva o disattiva la visualizzazione della finestra del metodo di input. |
ToString() |
Restituisce una rappresentazione in formato stringa dell'oggetto. (Ereditato da Object) |
UnregisterFromRuntime() |
API di sistema centrale per l'architettura generale del framework del metodo di input (IMF), che arbitra l'interazione tra le applicazioni e il metodo di input corrente. (Ereditato da Object) |
UpdateCursor(View, Int32, Int32, Int32, Int32) |
Obsoleti.
Segnalare la posizione corrente del cursore nella relativa finestra. |
UpdateCursorAnchorInfo(View, CursorAnchorInfo) |
Segnala la modifica posizionale del punto di inserimento del testo e/o dei caratteri nella stringa di composizione. |
UpdateExtractedText(View, Int32, ExtractedText) | |
UpdateSelection(View, Int32, Int32, Int32, Int32) |
Segnala l'intervallo di selezione corrente. |
ViewClicked(View) |
Notificare all'evento quando l'utente ha toccato o fatto clic sulla visualizzazione testo. |
Wait() |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere eseguendo <una>notifica</em> o <em>interrotto</em>. (Ereditato da Object) |
Wait(Int64) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere eseguendo <una notifica</>em> o <em>interrotto</em> o fino a quando non è trascorsa una certa quantità di tempo reale. (Ereditato da Object) |
Wait(Int64, Int32) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere eseguendo <una notifica</>em> o <em>interrotto</em> o fino a quando non è trascorsa una certa quantità di tempo reale. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
IJavaPeerable.Disposed() |
API di sistema centrale per l'architettura generale del framework del metodo di input (IMF), che arbitra l'interazione tra le applicazioni e il metodo di input corrente. (Ereditato da Object) |
IJavaPeerable.DisposeUnlessReferenced() |
API di sistema centrale per l'architettura generale del framework del metodo di input (IMF), che arbitra l'interazione tra le applicazioni e il metodo di input corrente. (Ereditato da Object) |
IJavaPeerable.Finalized() |
API di sistema centrale per l'architettura generale del framework del metodo di input (IMF), che arbitra l'interazione tra le applicazioni e il metodo di input corrente. (Ereditato da Object) |
IJavaPeerable.JniManagedPeerState |
API di sistema centrale per l'architettura generale del framework del metodo di input (IMF), che arbitra l'interazione tra le applicazioni e il metodo di input corrente. (Ereditato da Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
API di sistema centrale per l'architettura generale del framework del metodo di input (IMF), che arbitra l'interazione tra le applicazioni e il metodo di input corrente. (Ereditato da Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
API di sistema centrale per l'architettura generale del framework del metodo di input (IMF), che arbitra l'interazione tra le applicazioni e il metodo di input corrente. (Ereditato da Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
API di sistema centrale per l'architettura generale del framework del metodo di input (IMF), che arbitra l'interazione tra le applicazioni e il metodo di input corrente. (Ereditato da Object) |
Metodi di estensione
JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo verificato dal runtime Android. |
JavaCast<TResult>(IJavaObject) |
API di sistema centrale per l'architettura generale del framework del metodo di input (IMF), che arbitra l'interazione tra le applicazioni e il metodo di input corrente. |
GetJniTypeName(IJavaPeerable) |
API di sistema centrale per l'architettura generale del framework del metodo di input (IMF), che arbitra l'interazione tra le applicazioni e il metodo di input corrente. |