Android下强制打开软键盘

时间:2022-08-31 23:40:39

这个也是累人,网上查了很多方法,没有实现需求。

最后的实现方法很简单。代码:

 1 //通过定时器强制打开虚拟键盘
 2     public static void TimerShowKeyboard(final View v)
 3     {
 4         Timer timer = new Timer();
 5         timer.schedule(new TimerTask(){
 6             @Override
 7             public void run()
 8             {
 9                 InputMethodManager imm = ( InputMethodManager ) v.getContext().getSystemService( Context.INPUT_METHOD_SERVICE );
10                 if (!imm.isActive(v)){
11                     imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
12                 }
13             }
14         }, 10);
15     }

其他方法都用过,没有这个爽!用过的比如有:

//                if (!imm.isActive(et_fundvalue)){
//                    imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
//                }

或者:

//                if (!imm.isActive()){
//                    imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
//                }

再或者:

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);  
imm.showSoftInput(view,InputMethodManager.SHOW_FORCED);  

继续:

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);  
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); 

还有这个返回值有问题:

1 InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);  
2 boolean isOpen=imm.isActive();//isOpen若返回true,则表示输入法打开  

我用的是搜狗输入法。不知道其他的怎么样。

 

希望对大家有帮助。

本文原创,转载注明出处!