b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

确定输入法是否在三星手机上显示的方法

电脑杂谈  发布时间:2020-07-07 07:12:18  来源:网络整理

百度手机输入法的皮肤_手机百度输入法的皮肤_三星自带输入法换皮肤

我们都知道InputMethodManager没有api,它允许第三方应用程序获取是否显示输入法.

百度手机输入法的皮肤_三星自带输入法换皮肤_手机百度输入法的皮肤

我最近使用了三星S8附带的Note应用程序,发现它可以知道输入方法是否实时显示. 碰巧可以从GP下载Samsung的Note应用程序三星自带输入法换皮肤,因此对apk进行了反编译并研究了源代码. 果然,我找到了一种检测输入法是否显示的方法:

百度手机输入法的皮肤_三星自带输入法换皮肤_手机百度输入法的皮肤

    private boolean isInputMethodShown(Context context) {
        boolean isShown = false;
        InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
        if (imm != null) {
            try {
                Method isInputMethodShown = imm.getClass().getMethod("isInputMethodShown", new Class[0]);
                isShown = (Boolean) isInputMethodShown.invoke(imm, new Object[0]);
            } catch (NoSuchMethodException e) {
            } catch (IllegalAccessException e) {
            } catch (InvocationTargetException e) {
            }
        }
        return isShown;
    }

其原理是反映InputMethodManager的isInputMethodShown方法. 我亲自测试了较旧的型号三星S4(Android 17)和最新的旗舰型号三星S8(Android 26)三星自带输入法换皮肤,它们都可以正确检测键盘的可见性. 但是在尝试了小米和华为的其他型号之后,没有isInputMethodShown这样的方法. 投机应该是三星自己添加的一种隐藏方法.


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/sanxing/article-271452-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...