Android系统服务侦听器是否已本地化到我的应用程序实例?
我正在以SDK中的示例代码为例编写拼写检查客户端。我有以下代码(不是实际实现,而是准确的示例表示): 我想知道的是,Android系统服务侦听器是否已本地化到我的应用程序实例?,android,listener,android-service,spell-checking,Android,Listener,Android Service,Spell Checking,我正在以SDK中的示例代码为例编写拼写检查客户端。我有以下代码(不是实际实现,而是准确的示例表示): 我想知道的是,onGetSentenceSuggestions仅在我的应用程序调用getSuggestions时才会被触发,还是在系统服务接收到请求getSuggestions时才会被触发 如果是后者,那么确保我的应用程序只处理它请求的建议的最佳方法是什么?在这种情况下,我会说Android系统服务侦听器是通过会话本地化的。 onGetSentenceSuggestions方法由对getSugg
onGetSentenceSuggestions
仅在我的应用程序调用getSuggestions
时才会被触发,还是在系统服务接收到请求getSuggestions
时才会被触发
如果是后者,那么确保我的应用程序只处理它请求的建议的最佳方法是什么?在这种情况下,我会说Android系统服务侦听器是通过会话本地化的。 onGetSentenceSuggestions方法由对getSuggestions方法的任何请求激发。但是,您不必担心处理应用程序请求的建议,因为拼写检查器会话会处理这些建议。您的应用程序仅获取您的应用程序为与拼写检查服务交互而创建的会话所请求的建议。 希望这有帮助 参考资料:
public class HelloSpellChecker implements SpellCheckerSessionListener {
private SpellCheckerSession mSpellCheckService;
private void bindService() {
final TextServicesManager tsm = (TextServicesManager) getSystemService(
Context.TEXT_SERVICES_MANAGER_SERVICE);
mSpellCheckService = tsm.newSpellCheckerSession(null, null, this, true);
}
public void getSuggestions(String word) {
mSpellCheckService.getSuggestions(new TextInfo("tgis"), 3);
}
@Override
public void onGetSentenceSuggestions(final SentenceSuggestionsInfo[] arg0) {
Log.d(TAG, "onGetSentenceSuggestions");
// Process suggestions
}
}