求助~~用ZXing实现扫码点击按钮后没启动相机却闪退了

每天提高一点儿 2017-04-19 08:31:17
用ZXing库实现扫码功能
主工程关联了库,代码如下
public class MainActivity extends Activity implements OnClickListener{
private Button btnScan;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnScan=(Button) findViewById(R.id.btnScan);
btnScan.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// 扫码操作
Intent intent=new Intent(this,CaptureActivity.class);
startActivityForResult(intent,0);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if(requestCode==Activity.RESULT_OK){
String result=data.getExtras().getString("result");
Toast.makeText(this, result, 1).show();
}
}
}

点击按钮后没启动相机却闪退了,日志如下,请问各位是哪里有问题?

...全文
309 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
打盹的海豹 2018-12-16
  • 打赏
  • 举报
回复
package com.example.as2; import com.zxing.activity.CaptureActivity; import android.R.string; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity implements OnClickListener { private Button btnScan; private EditText etUsername; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnScan = (Button) findViewById(R.id.button1); btnScan.setOnClickListener(this); etUsername =(EditText) findViewById(R.id.editText1); } @Override public void onClick(View arg0) { // TODO Button 监听器 点击实现扫码 Intent intent = new Intent(this,CaptureActivity.class);//CaptureActivity方法是打开相机实现扫一扫 startActivityForResult(intent, 0); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub super.onActivityResult(requestCode, resultCode, data); if(resultCode == Activity.RESULT_OK){ String result = data.getExtras().getString("result"); Toast.makeText(this, result,1).show();//返回扫描结果 } } }
打盹的海豹 2018-12-16
  • 打赏
  • 举报
回复
为什么我出现的错误和你一样,但是我已经该了if else语句了啊
  • 打赏
  • 举报
回复
问题解决了!是引用的工程中CaptureActivityHandler有问题,当工程被指定为library时case后必须为常量, 所以把出错的地方都改为if~else方式,附上一个教学视频http://www.jikexueyuan.com/course/134.html
Jason Zhang~ 2017-04-20
  • 打赏
  • 举报
回复
问题出在CaptureActivity.class文件中。看log是说把一个button控件的id绑定为一个surfaceView,导致的程序崩溃。

80,362

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧