在Edittext中设置
.setInputType(InputType.TYPE_NULL);
public void disableShowInput(){
if (android.os.Build.VERSION.SDK_INT <= 10){
editText.setInputType(InputType.TYPE_NULL);
}else {
Class<EditText> cls = EditText.class;
Method method;
try {
method = cls.getMethod("setShowSoftInputOnFocus",boolean.class);
method.setAccessible(true);
method.invoke(editText,false)
}catch (Exception e) {//TODO: handle exception
}
try {
method = cls.getMethod("setSoftInputShownOnFocus",boolean.class);
method.setAccessible(true);
method.invoke(editText,false);
}catch (Exception e) {//TODO: handle exception
} } }
拦截键盘事件
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK) { //监控/拦截/屏蔽返回键
processExit();
return true;
} else if(keyCode == KeyEvent.KEYCODE_MENU) {
//监控/拦截菜单键
} else if(keyCode == KeyEvent.KEYCODE_HOME) {
//由于Home键为系统键,此处不能捕获,需要重写onAttachedToWindow()
}
return super.onKeyDown(keyCode, event);
}
参考文章
https://blog.csdn.net/sinat_27672523/article/details/56839837