InputMethodManager Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
API système centrale à l’architecture globale de l’infrastructure de méthode d’entrée (FMI), qui arbitre l’interaction entre les applications et la méthode d’entrée actuelle.
[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
- Héritage
- Attributs
Remarques
API système centrale à l’architecture globale de l’infrastructure de méthode d’entrée (FMI), qui arbitre l’interaction entre les applications et la méthode d’entrée actuelle.
Rubriques abordées ici : <ol><li>Architecture Overview<li Applications>li<Input Methods>li<>Security</ol>
« ArchitectureOverview"><h3>Architecture Overview</h3>
Il existe trois parties principales impliquées dans l’architecture du framework de méthode d’entrée (FMI) :
<ul><li> Le <>gestionnaire< de méthode d’entrée forte/fort> tel qu’exprimé par cette classe est le point central du système qui gère l’interaction entre toutes les autres parties. Il est exprimé en tant qu’API côté client ici, qui existe dans chaque contexte d’application et communique avec un service système global qui gère l’interaction entre tous les processus. <li> Une méthode d’entrée <forte>(IME)</strong> implémente un modèle d’interaction particulier permettant à l’utilisateur de générer du texte. Le système se lie à la méthode d’entrée actuelle en cours d’utilisation, ce qui l’entraîne à créer et à exécuter, et lui indique quand masquer et afficher son interface utilisateur. Un seul IME est en cours d’exécution à la fois. <li> Plusieurs <applications> clientes fortes</arbitrate forte> avec le gestionnaire de méthodes d’entrée pour le focus d’entrée et le contrôle sur l’état de l’IME. Un seul client de ce type est toujours actif (avec l’IME) à la fois. </ul>
« Applications"><h3>Applications</h3>
Dans la plupart des cas, les applications qui utilisent la norme android.widget.TextView ou ses sous-classes n’auront que peu de choses à faire pour fonctionner correctement avec les méthodes d’entrée réversible. Les principales choses dont vous avez besoin sont les suivantes :
<ul><li correctement> défini dans android.R.attr#inputType vos vues de texte modifiables, afin que la méthode d’entrée dispose d’un contexte suffisant pour aider l’utilisateur à entrer du texte dans celui-ci.
<li> Deal well with losing screen space when the input method is displayed. Dans l’idéal, une application doit gérer sa fenêtre redimensionnée plus petite, mais elle peut s’appuyer sur le système effectuant un panoramique de la fenêtre si nécessaire. Vous devez définir l’attribut android.R.attr#windowSoftInputMode sur votre activité ou les valeurs correspondantes sur les fenêtres que vous créez pour aider le système à déterminer s’il faut effectuer un panoramique ou un redimensionnement (il tentera de déterminer cela automatiquement, mais peut se tromper).
<li> Vous pouvez également contrôler l’état d’entrée réversible préféré (ouvert, fermé, etc.) pour votre fenêtre à l’aide du même android.R.attr#windowSoftInputMode attribut.
</ul>
Un contrôle plus fin est disponible par le biais des API ici pour interagir directement avec le FMI et son IME - afficher ou masquer la zone d’entrée, permettant à l’utilisateur de choisir une méthode d’entrée, etc.
Pour les rares personnes parmi nous qui écrivent leurs propres éditeurs de texte, vous devez implémenter android.view.View#onCreateInputConnection pour retourner une nouvelle instance de votre propre InputConnection interface, ce qui permet à l’IME d’interagir avec votre éditeur.
« InputMethods"><h3>Input Methods</h3>
Une méthode d’entrée (IME) est implémentée en tant que android.app.Service, généralement dérivant de android.inputmethodservice.InputMethodService. Il doit fournir l’interface principale InputMethod , bien que cela soit normalement géré par android.inputmethodservice.InputMethodService et les implémenteurs n’auront besoin de traiter l’API de niveau supérieur qu’ici.
Pour plus d’informations sur l’implémentation des imEs, consultez la android.inputmethodservice.InputMethodService classe.
« Sécurité"><h3>Sécurité</h3>
Il existe de nombreux problèmes de sécurité associés aux méthodes d’entrée, car ils ont essentiellement la liberté de piloter complètement l’interface utilisateur et de surveiller tout ce que l’utilisateur entre. L’infrastructure de méthode d’entrée Android autorise également des imEs tierces arbitraires. Vous devez donc veiller à restreindre leur sélection et leurs interactions.
Voici quelques points clés sur l’architecture de sécurité derrière le FMI :
<ul><li>
Seul le système est autorisé à accéder directement à l’interface d’un InputMethod IME via l’autorisation android.Manifest.permission#BIND_INPUT_METHOD . Cela est appliqué dans le système en n’étant pas lié à un service de méthode d’entrée qui ne nécessite pas cette autorisation, le système ne peut garantir qu’aucun autre client non approuvé n’accède à la méthode d’entrée actuelle en dehors de son contrôle.
<li>
Il peut y avoir de nombreux processus clients du FMI, mais un seul peut être actif à la fois. Les clients inactifs ne peuvent pas interagir avec les principales parties du FMI par le biais des mécanismes décrits ci-dessous.
<li>
Les clients d’une méthode d’entrée n’ont accès qu’à son InputMethodSession interface. Une instance de cette interface est créée pour chaque client, et seuls les appels de la session associée au client actif seront traités par l’IME actuel. Cette opération est appliquée pour android.inputmethodservice.AbstractInputMethodService les imEs normales, mais doit être gérée explicitement par un IME qui personnalise l’implémentation brute InputMethodSession .
<li>
Seuls les opérations du InputConnection client actif acceptent les opérations. Le FMI indique à chaque processus client s’il est actif et que le framework applique que, dans les processus inactifs, les appels à inputConnection actuels seront ignorés. Cela garantit que l’IME actuel peut uniquement remettre des événements et des modifications de texte à l’interface utilisateur que l’utilisateur voit comme étant en focus.
<li>
Un IME ne peut jamais interagir avec un InputConnection moment où l’écran est désactivé. Cela est appliqué en rendant tous les clients inactifs pendant que l’écran est désactivé et empêche les imEs incorrectes de conduire l’interface utilisateur lorsque l’utilisateur ne peut pas être conscient de son comportement.
<li>
Une application cliente peut demander au système de choisir un nouvel IME, mais ne peut pas basculer par programmation vers une application elle-même. Cela évite aux applications malveillantes de basculer l’utilisateur vers son propre IME, qui reste en cours d’exécution lorsque l’utilisateur navigue vers une autre application. Un IME, d’autre part, <em>is</em> autorisé à basculer par programme le système vers un autre IME, car il a déjà un contrôle total de l’entrée utilisateur.
<li>
L’utilisateur doit activer explicitement un nouvel IME dans les paramètres avant qu’il puisse passer à celui-ci, pour confirmer auprès du système qu’il en sait et qu’il souhaite le rendre disponible pour une utilisation.
</ul>
Si votre application cible Android 11 (niveau d’API 30) ou une version ultérieure, les méthodes de cette classe retournent chacun un résultat filtré par les règles de visibilité du package, à l’exception de l’IME actuellement connecté. Les applications ayant une requête pour afficher InputMethod#SERVICE_INTERFACE tous les imEs sont disponibles.
Java documentation pour android.view.inputmethod.InputMethodManager.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.
Champs
| Nom | Description |
|---|---|
| HandwritingDelegateFlagHomeDelegatorAllowed |
Obsolète.
Indicateur indiquant que les vues de l’écran d’accueil par défaut ( |
| ShowForced |
Indicateur permettant |
| ShowImplicit |
Obsolète.
Indicateur pour |
Propriétés
| Nom | Description |
|---|---|
| Class |
Retourne la classe runtime de ce |
| CurrentInputMethodInfo |
Retourne la |
| CurrentInputMethodSubtype |
Retourne le sous-type de méthode d’entrée actuelle. |
| EnabledInputMethodList |
Retourne la liste des méthodes d’entrée activées. |
| Handle |
Handle de l’instance Android sous-jacente. (Hérité de Object) |
| InputMethodList |
Retourne la liste des méthodes d’entrée installées. |
| IsAcceptingText |
Retournez |
| IsActive |
Retourne |
| IsConnectionlessStylusHandwritingAvailable |
Retourne |
| IsFullscreenMode |
Vous permet de déterminer si la méthode d’entrée jointe s’exécute en mode plein écran. |
| IsInputMethodSuppressingSpellChecker |
Retourne |
| IsStylusHandwritingAvailable |
Retourne |
| JniIdentityHashCode |
Obtient le code de hachage d’identité affecté à cet homologue Java par le runtime d’interopérabilité. (Hérité de Object) |
| JniManagedPeerState |
API système centrale à l’architecture globale de l’infrastructure de méthode d’entrée (FMI), qui arbitre l’interaction entre les applications et la méthode d’entrée actuelle. (Hérité de JavaObject) |
| JniPeerMembers |
API système centrale à l’architecture globale de l’infrastructure de méthode d’entrée (FMI), qui arbitre l’interaction entre les applications et la méthode d’entrée actuelle. |
| LastInputMethodSubtype |
Retourne le dernier utilisé |
| PeerReference |
Obtient la référence d’objet JNI pour cet homologue Java. (Hérité de Object) |
| ShortcutInputMethodsAndSubtypes |
Retourne une carte de toutes les informations de méthode d’entrée de raccourci et de leurs sous-types. |
| ThresholdClass |
Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code. (Hérité de Object) |
| ThresholdType |
Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code. (Hérité de Object) |
Méthodes
| Nom | Description |
|---|---|
| AcceptStylusHandwritingDelegation(View, String, HandwritingDelegateFlag, IExecutor, IConsumer) |
Accepte et démarre une session d’écriture manuscrite de stylet sur l’affichage délégué, si la délégation d’initiation de l’écriture manuscrite a été demandée précédemment à |
| AcceptStylusHandwritingDelegation(View, String, IExecutor, IConsumer) |
Accepte et démarre une session d’écriture manuscrite de stylet sur l’affichage délégué, si la délégation d’initiation de l’écriture manuscrite a été demandée précédemment à |
| AcceptStylusHandwritingDelegation(View, String) |
Accepte et démarre une session d’écriture manuscrite de stylet sur l’affichage délégué, si la délégation d’initiation de l’écriture manuscrite a été demandée précédemment à |
| AcceptStylusHandwritingDelegation(View) |
Accepte et démarre une session d’écriture manuscrite de stylet sur l’affichage délégué, si la délégation d’initiation de l’écriture manuscrite a été demandée précédemment à l’aide |
| Clone() |
Crée et retourne une copie de cet objet. (Hérité de Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
API système centrale à l’architecture globale de l’infrastructure de méthode d’entrée (FMI), qui arbitre l’interaction entre les applications et la méthode d’entrée actuelle. (Hérité de JavaObject) |
| DispatchKeyEventFromInputMethod(View, KeyEvent) |
Fournit l’implémentation par défaut de |
| DisplayCompletions(View, CompletionInfo[]) | |
| Dispose() |
Libère les ressources détenues par cet homologue Java. (Hérité de Object) |
| Dispose(Boolean) |
Libère les ressources détenues par cet homologue Java. (Hérité de Object) |
| DisposeUnlessReferenced() |
API système centrale à l’architecture globale de l’infrastructure de méthode d’entrée (FMI), qui arbitre l’interaction entre les applications et la méthode d’entrée actuelle. (Hérité de JavaObject) |
| Equals(Object) |
API système centrale à l’architecture globale de l’infrastructure de méthode d’entrée (FMI), qui arbitre l’interaction entre les applications et la méthode d’entrée actuelle. (Hérité de JavaObject) |
| Equals(Object) |
Indique si un autre objet est « égal à » celui-ci. (Hérité de Object) |
| FromContext(Context) |
API système centrale à l’architecture globale de l’infrastructure de méthode d’entrée (FMI), qui arbitre l’interaction entre les applications et la méthode d’entrée actuelle. |
| GetEnabledInputMethodSubtypeList(InputMethodInfo, Boolean) |
Retourne une liste de sous-types de méthode d’entrée activés pour les informations de méthode d’entrée spécifiées. |
| GetHashCode() |
Retourne une valeur de code de hachage pour l’objet. (Hérité de Object) |
| HideSoftInputFromInputMethod(IBinder, HideSoftInputFlags) |
Fermez/masquez la zone d’entrée réversible de la méthode d’entrée, afin que l’utilisateur ne le voit plus ou puisse interagir avec lui. |
| HideSoftInputFromWindow(IBinder, HideSoftInputFlags, ResultReceiver) |
Demande de masquer la fenêtre d’entrée réversible dans le contexte de la fenêtre qui accepte actuellement l’entrée. |
| HideSoftInputFromWindow(IBinder, HideSoftInputFlags) |
Demande de masquer la fenêtre d’entrée réversible dans le contexte de la fenêtre qui accepte actuellement l’entrée. |
| HideStatusIcon(IBinder) |
Ce membre est déconseillé. |
| InvalidateInput(View) |
Indique au système que le texte associé |
| InvokeIsActive(View) |
Retourne |
| IsWatchingCursor(View) |
Obsolète.
Retourne la valeur true si la méthode d’entrée actuelle souhaite surveiller l’emplacement du curseur de l’éditeur d’entrée dans sa fenêtre. |
| JavaFinalize() |
Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet. (Hérité de Object) |
| Notify() |
Réveille un thread unique qui attend le moniteur de cet objet. (Hérité de Object) |
| NotifyAll() |
Réveille tous les threads qui attendent le moniteur de cet objet. (Hérité de Object) |
| PrepareStylusHandwritingDelegation(View, String) |
Prépare la délégation de démarrage de la session d’écriture manuscrite de stylet à un autre éditeur dans un même ou une autre fenêtre d’un package différent de la vue sur laquelle un trait d’écriture manuscrite initiale a été détecté. |
| PrepareStylusHandwritingDelegation(View) |
Prépare la délégation de démarrage de la session d’écriture manuscrite de stylet à un autre éditeur dans une fenêtre identique ou différente de la vue sur laquelle un trait d’écriture manuscrite initiale a été détecté. |
| RestartInput(View) |
Si la méthode d’entrée est actuellement connectée à la vue donnée, redémarrez-la avec son nouveau contenu. |
| SendAppPrivateCommand(View, String, Bundle) |
Appelez |
| SetAdditionalInputMethodSubtypes(String, InputMethodSubtype[]) |
Définissez des sous-types de méthode d’entrée supplémentaires. |
| SetCurrentInputMethodSubtype(InputMethodSubtype) |
Basculez vers un nouveau sous-type de méthode d’entrée de la méthode d’entrée actuelle. |
| SetExplicitlyEnabledInputMethodSubtypes(String, Int32[]) |
Met à jour la liste des IME explicitement activés |
| SetHandle(IntPtr, JniHandleOwnership) |
Définit la propriété Handle. (Hérité de Object) |
| SetInputMethod(IBinder, String) |
Forcer le basculement vers un nouveau composant de méthode d’entrée. |
| SetInputMethodAndSubtype(IBinder, String, InputMethodSubtype) |
Forcer le basculement vers une nouvelle méthode d’entrée et un sous-type. |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
API système centrale à l’architecture globale de l’infrastructure de méthode d’entrée (FMI), qui arbitre l’interaction entre les applications et la méthode d’entrée actuelle. (Hérité de JavaObject) |
| ShouldOfferSwitchingToNextInputMethod(IBinder) |
Retourne true si l’IME actuel doit offrir aux utilisateurs des façons de passer à une méthode d’entrée suivante (e. |
| ShowInputMethodAndSubtypeEnabler(String) |
Afficher les paramètres d’activation des sous-types de la méthode d’entrée spécifiée. |
| ShowInputMethodPicker() |
Afficher la fenêtre contextuelle du sélecteur IME. |
| ShowSoftInput(View, ShowFlags, ResultReceiver) |
Demandez explicitement que la zone d’entrée réversible de la méthode d’entrée actuelle soit affichée à l’utilisateur, si nécessaire. |
| ShowSoftInput(View, ShowFlags) |
Synonyme de |
| ShowSoftInputFromInputMethod(IBinder, ShowFlags) |
Affichez la zone d’entrée réversible de la méthode d’entrée, afin que l’utilisateur voit la fenêtre de méthode d’entrée et puisse interagir avec elle. |
| ShowStatusIcon(IBinder, String, Int32) |
Ce membre est déconseillé. |
| StartConnectionlessStylusHandwriting(View, CursorAnchorInfo, IExecutor, IConnectionlessHandwritingCallback) |
Démarre une session d’écriture manuscrite sans connexion. |
| StartConnectionlessStylusHandwritingForDelegation(View, CursorAnchorInfo, IExecutor, IConnectionlessHandwritingCallback) |
Démarre une session d’écriture manuscrite sans connexion (voir |
| StartConnectionlessStylusHandwritingForDelegation(View, CursorAnchorInfo, String, IExecutor, IConnectionlessHandwritingCallback) |
Démarre une session d’écriture manuscrite sans connexion (voir |
| StartStylusHandwriting(View) |
Démarrez la session d’écriture manuscrite de stylet. |
| SwitchToLastInputMethod(IBinder) |
Forcez le basculement vers la dernière méthode d’entrée utilisée et le sous-type. |
| SwitchToNextInputMethod(IBinder, Boolean) |
Forcer le passage à la méthode d’entrée et au sous-type d’entrée suivant. |
| ToArray<T>() |
Crée un tableau managé à partir de ce wrapper de tableau Java. (Hérité de Object) |
| ToggleSoftInput(ShowFlags, HideSoftInputFlags) |
Cette méthode bascule l’affichage de la fenêtre de méthode d’entrée. |
| ToggleSoftInputFromWindow(IBinder, ShowSoftInputFlags, HideSoftInputFlags) |
Cette méthode bascule l’affichage de la fenêtre de méthode d’entrée. |
| ToString() |
Retourne une représentation sous forme de chaîne de l’objet. (Hérité de Object) |
| UnregisterFromRuntime() |
Annule l’inscription de cet homologue Java à partir du runtime d’interopérabilité. (Hérité de Object) |
| UpdateCursor(View, Int32, Int32, Int32, Int32) |
Obsolète.
Signaler l’emplacement actuel du curseur dans sa fenêtre. |
| UpdateCursorAnchorInfo(View, CursorAnchorInfo) |
Modification positionnelle du point d’insertion de texte et/ou caractères dans la chaîne de composition. |
| UpdateExtractedText(View, Int32, ExtractedText) | |
| UpdateSelection(View, Int32, Int32, Int32, Int32) |
Signaler la plage de sélection actuelle. |
| ViewClicked(View) |
Informez l’événement lorsque l’utilisateur a appuyé ou cliqué sur l’affichage texte. |
| Wait() |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti par em ou><em>interrompu</em>.<> (Hérité de Object) |
| Wait(Int64, Int32) |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée. (Hérité de Object) |
| Wait(Int64) |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée. (Hérité de Object) |
Implémentations d’interfaces explicites
| Nom | Description |
|---|---|
| IJavaPeerable.Disposed() |
API système centrale à l’architecture globale de l’infrastructure de méthode d’entrée (FMI), qui arbitre l’interaction entre les applications et la méthode d’entrée actuelle. (Hérité de JavaObject) |
| IJavaPeerable.Finalized() |
API système centrale à l’architecture globale de l’infrastructure de méthode d’entrée (FMI), qui arbitre l’interaction entre les applications et la méthode d’entrée actuelle. (Hérité de JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
API système centrale à l’architecture globale de l’infrastructure de méthode d’entrée (FMI), qui arbitre l’interaction entre les applications et la méthode d’entrée actuelle. (Hérité de JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
API système centrale à l’architecture globale de l’infrastructure de méthode d’entrée (FMI), qui arbitre l’interaction entre les applications et la méthode d’entrée actuelle. (Hérité de JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
API système centrale à l’architecture globale de l’infrastructure de méthode d’entrée (FMI), qui arbitre l’interaction entre les applications et la méthode d’entrée actuelle. (Hérité de JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
API système centrale à l’architecture globale de l’infrastructure de méthode d’entrée (FMI), qui arbitre l’interaction entre les applications et la méthode d’entrée actuelle. (Hérité de JavaObject) |
Méthodes d’extension
| Nom | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtient le nom JNI du type de l’instance |
| JavaAs<TResult>(IJavaPeerable) |
Essayez de forcer |
| JavaCast<TResult>(IJavaObject) |
Effectue une conversion de type vérifiée par le runtime Android. |
| JavaCast<TResult>(IJavaObject) |
API système centrale à l’architecture globale de l’infrastructure de méthode d’entrée (FMI), qui arbitre l’interaction entre les applications et la méthode d’entrée actuelle. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Essayez de forcer |