历经1个多月的寻寻觅觅,在广州,在科技园的一角,被冲击的体无完肤的我拿着并不锋利的武器,坐上了新的列车,开启了下一段旅程。
新旅程的第一处风景便是早有耳闻,却从未尝试的人脸识别。
得亏用的是第三方库,否则对于转行的我来说,难度很高。
即便是这样,在面对人脸识别的开发的时候,还是出现了很多问题。
1、摄像头的开启可以在手机上开启,却不能再android版本为android4.4的设备上开启摄像头。困扰了很久,也是通过度娘,找到了解决方案:
在排除权限没有释放资源的原因后,结论是开启的方法有问题:
摄像头的开启方法在2.30版本之前和之后是不一样的,所以开启的时候需要进行适配,如果决定适配低版本设备的话
开启方法如下:
try{ mCamera=Camera.open(id)
}catch(Expection e){mCamera=Camera.open()
}
2、android 5.1.1版本无法通过权限控制系统自带软键盘的弹起和隐藏,无奈只能通过代码在实现完edittext获取焦点后隐藏软键盘
/**
* 隐藏软键盘(无输入框或者说无法获取输入框。比如,微信支付时处于未登录状态,此时输入框
* 是微信的,返回再隐藏键盘)
* @param context
*/
public static void hideSoftKeyboard(@NonNull Activity context)
{
View view = context.getWindow().peekDecorView();
if (view != null) {
InputMethodManager inputmanger = (InputMethodManager) context
.getSystemService(Context.INPUT_METHOD_SERVICE);
inputmanger.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
}
/**
* 隐藏软键盘(无输入框或者说无法获取输入框。比如,微信支付时处于未登录状态,此时输入框
* 是微信的,返回再隐藏键盘)
* @param context
*/
public static void hideSoftKeyboard(@NonNull Activity context)
{
View view = context.getWindow().peekDecorView();
if (view != null) {
InputMethodManager inputmanger = (InputMethodManager) context
.getSystemService(Context.INPUT_METHOD_SERVICE);
inputmanger.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
}
3、逻辑的问题,有时候还是需要放空思维,重复思考,防止钻入死胡同。在阅读别人代码的时候需要更加的仔细观察整个逻辑,每一个对象的定义和使用方式。
继续总结,继续成长!!!fighting!!!!