调用InputMethodService.onStartInputView()的时候会传递一个 EditorInfo对象来判断输入类型。例如使用EditorInfo.inputType & EditorInfo.TYPE_CLASS_MASK来判断是属于下面的哪种类型:
TYPE_CLASS_NUMBER
TYPE_CLASS_DATETIME
TYPE_CLASS_PHONE
TYPE_CLASS_TEXT

解决方案 »

  1.   

    如果系统里没有这类参数,一般都会在prop里存有全局变量了。
      

  2.   

    List<ResolveInfo> services = pm.queryIntentServices(
                    new Intent(InputMethod.SERVICE_INTERFACE),
                    PackageManager.GET_META_DATA);根据这个代码去获得所有输入法,然后选取列表中的第一个。问题是,这个列表是按照什么规则排序的?按照注释,排在第一的是resolveService()这个函数的返回值。但是它的返回值又是怎么确定的呢?
      

  3.   

    答案在这里
    http://hi.baidu.com/wishwingliao/blog/item/65a2d03f7dde8dd17d1e71ec.html