我正在使用SDK中的示例代码编写拼写检查客户端作为示例.我有以下代码(不是实际的实现,但是准确的示例表示):
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 }}
我想知道的是,只有当我的应用程序调用getSuggestions时才会触发onGetSentenceSuggestions,或者只要系统服务收到getSuggestions请求就会触发它?
如果是后者,那么确保我的应用程序仅处理其请求的建议的最佳方法是什么?
解决方法:
我想说AndroID系统服务监听器在这种情况下通过会话本地化.
任何getSuggestions方法的请求都会触发onGetSentenceSuggestions方法.但是,您不必担心应用程序请求的处理建议,因为拼写检查会话会处理它.您的应用仅获取您的应用创建的会话所请求的建议,以便与拼写检查服务进行互动.
希望这可以帮助.
参考文献:
> http://developer.android.com/reference/android/view/textservice/SpellCheckerSession.html
> http://developer.android.com/guide/topics/text/spell-checker-framework.html
以上是内存溢出为你收集整理的Android系统服务侦听器是否已本地化到我的应用实例?全部内容,希望文章能够帮你解决Android系统服务侦听器是否已本地化到我的应用实例?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)