我在MainActivity.java那里提供一个toolsPopWindow设置一个button专门用来跳转到扫面二维码的java里面(CaptureActivity)
Button scan = (Button) toolsPopWindow.getView(R.id.tools_normal_scan);
scan.setOnClickListener(this);
else if(v.getId()==R.id.tools_normal_scan){
//扫描二维码
Intent openCameraIntent = new Intent(MainActivity.this, CaptureActivity.class);
startActivityForResult(openCameraIntent, 0);
toolsPopWindow.dismiss();
return;
然后在zbar的开源包里面一个DecodeHandler 接受信息的一段处理信息的代码产生了空值 然后整个程序就闪退了
@Override
public void handleMessage(Message message) {
switch (message.what) {
case R.id.decode:
decode((byte[]) message.obj, message.arg1, message.arg2);
break;
case R.id.quit:
Looper.myLooper().quit();
break;
}
}
程序调试错误的报错信息
01-15 15:37:49.130: E/AndroidRuntime(20902): FATAL EXCEPTION: Thread-9920
01-15 15:37:49.130: E/AndroidRuntime(20902): java.lang.ExceptionInInitializerError
01-15 15:37:49.130: E/AndroidRuntime(20902): at com.zbar.lib.decode.DecodeHandler.decode(DecodeHandler.java:57)
01-15 15:37:49.130: E/AndroidRuntime(20902): at com.zbar.lib.decode.DecodeHandler.handleMessage(DecodeHandler.java:38)
01-15 15:37:49.130: E/AndroidRuntime(20902): at android.os.Handler.dispatchMessage(Handler.java:99)
01-15 15:37:49.130: E/AndroidRuntime(20902): at android.os.Looper.loop(Looper.java:137)
01-15 15:37:49.130: E/AndroidRuntime(20902): at com.zbar.lib.decode.DecodeThread.run(DecodeThread.java:44)
01-15 15:37:49.130: E/AndroidRuntime(20902): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load zbar: findLibrary returned null
01-15 15:37:49.130: E/AndroidRuntime(20902): at java.lang.Runtime.loadLibrary(Runtime.java:365)
01-15 15:37:49.130: E/AndroidRuntime(20902): at java.lang.System.loadLibrary(System.java:535)
01-15 15:37:49.130: E/AndroidRuntime(20902): at com.zbar.lib.ZbarManager.(ZbarManager.java:15)
01-15 15:37:49.130: E/AndroidRuntime(20902): ... 5 more
明显是你的so文件没有加载,或者你当前手机的CPU的架构不适合你打包的so架构的