| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
PriZ42
7年前发布

Android开源:SoftInputMethodHolder - 通过 Hook 监听系统软键盘状态

   <h2>SoftInputMethodHolder</h2>    <p>通过 Hook InputMethodManager 的方式监听系统软键盘的状态, 当然不仅仅是监听软键盘,类似的还可以hook其他系统服务。</p>    <h3>使用方式:</h3>    <ol>     <li>导入SoftInputMethodHodler作为依赖库。</li>     <li>调用初始化方法 SoftInputMethodHolder.init(context); 该方法会 hook InputMethodManager,所以建议越早调用越好,比如在Application中的 void attachBaseContext(Context base) 方法中。</li>     <li>需要监听的地方注册监听器: SoftInputMethodHolder.registerListener(onInputMethodListener);</li>     <li>不用忘记反注册: SoftInputMethodHolder.unregisterListener(onInputMethodListener);</li>     <li>应用退出时最好调用: SoftInputMethodHolder.release(); 防止 Context 内存泄漏。</li>    </ol>    <p>具体使用方法请看Sample,未做充分测试,在定制ROM中可能存在兼容性问题,欢迎提ISSUE</p>    <h3>缺陷:</h3>    <pre>  <code class="language-java">public interface OnInputMethodListener {    void onShow(boolean result);    /**   * 仅支持主动调用hideSoftInputFromWindow,会回调onHide()   * 通过系统按钮关闭软键盘的时候不会回调,   * 因为键盘在一个独立的进程中,我们hook的只是本地进程的一个binder代理   */  void onHide(boolean result);    }</code></pre>    <h3><a href="/misc/goto?guid=4959740701085214569">github</a></h3>    
 本文由用户 PriZ42 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1488939662581.html
软件开发 Android开发 移动开发