1. 使用 yipianfengye/android-zxingLibrary
1.1. 引用依赖。发现扫描有很大的声音,为了去掉声音,下载源码。
1.2. 下载源码。单独写一个demo。
源码不是一个项目,是一个lib module, 所以将该module添加进demo工程中。修改lib中的源码,将声音去掉。onResume()中
playBeep = false;
AudioManager audioService = (AudioManager) getActivity().getSystemService(getActivity().AUDIO_SERVICE);
if (audioService.getRingerMode() != AudioManager.RINGER_MODE_NORMAL) {
playBeep = false;
}
initBeepSound();
vibrate = true;
但是将代码移植到已有的工程中,发现总是crash,原因是CamaraManager类中getFramingRect(),方法中的
FRAME_WIDTH总是0,FRAME_HEIGHT也总是0。在demo工程中,这两个值是4。该类中只赋值一次,就是初始赋值-1,找不到其他地方赋值。稍后研究。。。
2. 使用zxing
参考https://blog.csdn.net/ahuyangdong/article/details/76405557
优化https://blog.csdn.net/ahuyangdong/article/details/76407722