public class SpellCheckerSession
extends Object
java.lang.Object | |
↳ | android.view.textservice.SpellCheckerSession |
SpellCheckerSession接口提供了SpellCheckerService的每个客户端功能。
在大多数情况下,使用标准TextView
或其子类的应用程序将TextView
与拼写检查器服务配合使用。 你需要注意的主要事情是:
inputType
in your editable text views, so that the spell checker will have enough context to help the user in editing text in them. 对于我们当中编写直接使用拼写检查器服务的客户端应用程序的罕见人员,您需要使用 getSuggestions(TextInfo, int)
或 getSuggestions(TextInfo[], int, boolean)
来自行获取拼写检查器服务的结果。
有很多与拼写检查器相关的安全问题,因为他们可以监视所有发送给他们的文本,例如TextView
。 Android拼写检查框架还允许任意的第三方拼写检查程序,因此必须小心限制其选择和交互。
以下是关于拼写检查器框架背后的安全体系结构的一些要点:
SpellCheckerService
interface, via the BIND_TEXT_SERVICE
permission. This is enforced in the system by not binding to a spell checker service that does not require this permission. Nested classes |
|
---|---|
interface |
SpellCheckerSession.SpellCheckerSessionListener 从文本服务获取结果的回调 |
Constants |
|
---|---|
String |
SERVICE_META_DATA SpellChecker服务组件发布自身信息的名称。 |
Public methods |
|
---|---|
void |
cancel() 取消待处理并正在运行拼写检查任务 |
void |
close() 完成此会话并允许TextServicesManagerService断开绑定的拼写检查器。 |
void |
getSentenceSuggestions(TextInfo[] textInfos, int suggestionsLimit) 从指定的句子获取建议 |
SpellCheckerInfo |
getSpellChecker() 获取此拼写检查器会话中的拼写检查器服务信息。 |
void |
getSuggestions(TextInfo textInfo, int suggestionsLimit) 此方法在API级别16中已弃用。 |
void |
getSuggestions(TextInfo[] textInfos, int suggestionsLimit, boolean sequentialWords) 此方法在API级别16中已弃用。 |
boolean |
isSessionDisconnected() |
Protected methods |
|
---|---|
void |
finalize() 当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
String SERVICE_META_DATA
SpellChecker服务组件发布自身信息的名称。 这个元数据必须引用一个XML资源。
常量值:“android.view.textservice.scs”
void getSentenceSuggestions (TextInfo[] textInfos, int suggestionsLimit)
从指定的句子获取建议
Parameters | |
---|---|
textInfos |
TextInfo : an array of text metadata for a spell checker |
suggestionsLimit |
int : the maximum number of suggestions that will be returned |
SpellCheckerInfo getSpellChecker ()
获取此拼写检查器会话中的拼写检查器服务信息。
Returns | |
---|---|
SpellCheckerInfo |
SpellCheckerInfo for the specified locale. |
void getSuggestions (TextInfo textInfo, int suggestionsLimit)
此方法在API级别16中已被弃用。
改为使用getSentenceSuggestions(TextInfo[], int)
获取指定文本的子字符串的候选字符串。
Parameters | |
---|---|
textInfo |
TextInfo : text metadata for a spell checker |
suggestionsLimit |
int : the maximum number of suggestions that will be returned |
void getSuggestions (TextInfo[] textInfos, int suggestionsLimit, boolean sequentialWords)
此方法在API级别16中已被弃用。
改为使用getSentenceSuggestions(TextInfo[], int)
批处理getSuggestions
Parameters | |
---|---|
textInfos |
TextInfo : an array of text metadata for a spell checker |
suggestionsLimit |
int : the maximum number of suggestions that will be returned |
sequentialWords |
boolean : true if textInfos can be treated as sequential words. |
boolean isSessionDisconnected ()
Returns | |
---|---|
boolean |
true if the connection to a text service of this session is disconnected and not alive. |
void finalize ()
当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。 子类会覆盖finalize
方法以处置系统资源或执行其他清理。
的常规协定finalize
是,它被调用,如果当在Java TM虚拟机已确定不再有由该目的可以通过还没有死亡,除了作为一个动作的结果的任何线程访问的任何手段取决于某些其他可以完成的对象或类别的最终定稿。 该finalize
方法可以采取任何行动,包括再制作该对象提供给其他线程; 然而, finalize
的通常目的是在对象不可撤销地丢弃之前执行清理操作。 例如,表示输入/输出连接的对象的finalize方法可能会执行显式I / O事务,以在永久丢弃该对象之前中断连接。
类Object
的finalize
方法Object
执行特殊操作; 它只是正常返回。 Object
子类可能会覆盖此定义。
Java编程语言不保证哪个线程将为任何给定对象调用finalize
方法。 但是,保证调用finalize的线程在调用finalize时不会保留任何用户可见的同步锁。 如果finalize方法引发未捕获的异常,则忽略该异常,并终止该对象的终止。
在为一个对象调用了 finalize
方法之后,在Java虚拟机再次确定没有任何方法可以通过任何尚未死亡的线程访问该对象之前,不会采取进一步的操作,包括可能的操作通过准备完成的其他对象或类别,此时该对象可能被丢弃。
对于任何给定的对象,Java虚拟机永远不会多次调用 finalize
方法。
任何由 finalize
方法引发的异常 finalize
导致此对象的终止被暂停,但在其他情况下会被忽略。
Throws | |
---|---|
Throwable |