-
● 【安卓学习之第三方库】库的使用2-jar类库的使用(以dom4j为例)和升级(以极光推送为例)
-
● 本文通过学习别人写demo,学习一些课件,参考一些博客,’学习相关知识,如果涉及侵权请告知
● 本文只简单罗列相关的代码实现过程
● 涉及到的逻辑以及说明也只是简单介绍,主要当做笔记,了解过程而已
-
● 我的需求是,收银软件系统中,扫码枪的功能实现,直接使用.Android外接USB扫码枪 - 简书的方案,测试都ok;
● 随着功能的完善,突然发现,键盘输入有问题,经常测试发现,键盘的弹出和收起无法检测,也就是isInput 一直为false;
SoftKeyBoardListener.setListener(aty, new SoftKeyBoardListener.OnSoftKeyBoardChangeListener() {
@Override
public void keyBoardShow(int height) {
Logger.eTag("键盘显示==== 高度" + height + ",,,isInput==" + isInput);
isInput = true;
}
@Override
public void keyBoardHide(int height) {
Logger.eTag("键盘隐藏 ====高度" + height);
isInput = false;
}
});
-
● 那以前为什么可以用?
● 我又开始网上搜索了几个方案,如 Android全局监听键盘弹出/收起事件,支持在任何类_Let’sCoding-CSDN博客 、Android 轮子哥 软键盘监听类等等:
经常测试,都可以监听到键盘,但是移植到我的项目中,就不行了
KeyboardWatcher.with(this).setListener(this);
● 那以前为什么可以用?别人的项目又可以用?那肯定是和我的项目有关系了?
● 历经千测万试,终于发现问题的所在:
键盘的监听,都是通过键盘弹出占用了原来的界面面积(高度变小了),从而判断键盘是否有没有弹出;那么如果键盘的弹出,是在另一个界面,那么这种方面就无效了:
● 收银软件系统都是平板模式,因此我设置的都是横屏模式
android:screenOrientation="landscape"
恰好又在手机的横屏模式下,键盘全屏显示,因此该种方法不可行,这里对app的键盘显示的四种情况进行测试:
1.App在手机上的竖屏模式:键盘未全屏显示;
2.App在平板上的竖屏模式:键盘未全屏显示;
3.App在手机上的横屏模式:键盘全屏显示;
4.App在平板上的横屏模式:键盘未全屏;
KeyboardWatcher.with(this).setListener(this);
-
● 在键盘全屏模式下,目前没有方法可以检测,本来是想通过如下方法,不过发现一只返回true:
InputMethodManager inputMethodManager = (InputMethodManager)aty.getSystemService(Context.INPUT_METHOD_SERVICE);
boolean isInput = inputMethodManager.isActive();
● 那么就只有一种方法,不让键盘全屏:
比如不能让用户不能再手机的竖屏模式下操作;
比如设置键盘为非全屏模式;
● 如何设置键盘为非全屏模式?
通过设置EditText的属性即可实现,参考 Android:横屏时禁止输入法全屏 - 简书
mEditText.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI);
<EditText
android:id="@+id/et"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="平板上的竖屏模式:键盘未全屏"
android:imeOptions="flagNoExtractUi"/>
-
● app被搞了, 怎么写加固?
用三方就行了
自己写加固问题比较多,需要长时间维护和测试
自己写,意味着你要做到第三方卖钱的地步,这成本可高了
第三方的有很多免费的可以用
加固基本原理就是把原来的apk代码加密起来,然后制作一个apk壳子入口,启动的时候动态解密原来的代码,然后load到虚拟内存里运行,所以破解难度较大,需要在动态内存中提取
现在商业的加固工具中还会用到很多技术
● 怎么成为安卓逆向高手?
apk打包原理、混淆原理、加固原理
如何在动态内存中把已经加固应用的代码提取出来
熟悉hook钩子
逆向本质都差不多,去看雪论坛学习!
-
● 1.2018-11-26 Android串口盒子+扫码枪开发 - 简书
● 2.2018-05-10 Android外接USB扫码枪 - 简书
● 3.2018-11-15 Android全局监听键盘弹出/收起事件,支持在任何类_Let’sCoding-CSDN博客 、 源码地址
● 4.2015-12-22 Android 另类方法监听软键盘的弹出收起事件 - csonezp - 博客园
● 5.2015-08-24 Android在Fragment中监听软键盘的弹出和关闭_xianjiajun22的专栏-CSDN博客_androidfragment监听软键盘消失
● 6.2016-09-08 Android完美检测键盘弹出/收起_yanjunhui2011的专栏-CSDN博客_android键盘收起通知
● 7.2019-07-04 Android 轮子哥 软键盘监听类
● 8.2018-05-09 Android:横屏时禁止输入法全屏 - 简书
● 9. 2014-05-21 Fragment整个生命周期演示_SnailDream-CSDN博客_onviewcreated生命周期
● 10. 2014-02-08 AndroidApp监听软键盘按键的三种方式_祝福的博客-CSDN博客_android键盘按键监听
● 11. 2018-11-08 Android全屏时软键盘监听 - 简书
转载请注明出处:
https://blog.csdn.net/ljb568838953/article/details/106563485