最近有个项目用到扫描条码,有个问题,哪位大神帮着看看??

zhzhq800204 2014-04-30 05:38:55
按照网上的资料测试
第一步、安装barcodescanner4.31.apk。
第二步、编写代码,具体代码如下:
package com.example.bartest;

import android.support.v7.app.ActionBarActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends ActionBarActivity {
private TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv=(TextView) findViewById(R.id.mytxt);
findViewById(R.id.mybtn).setOnClickListener(listener);
}
public Button.OnClickListener listener=new Button.OnClickListener()
{
public void onClick(View v){
String mUrl = "com.google.zxing.client.android.SCAN";
String mPac = "com.google.zxing.client.android";

Intent intent = new Intent(mUrl);
intent.setPackage(mPac);
intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
startActivityForResult(intent, 0);
}
};
public void onActivityResult(int requestCode, int resultCode, Intent intent)
{
super.onActivityResult(requestCode, resultCode, intent);
if (requestCode ==0)
{
if (resultCode == RESULT_OK)
{
String contents = intent.getStringExtra("SCAN_RESULT");
String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
// Handle successful scan

tv.setText(" 条形码为:"+contents+" 条码类型为: "+format);//利用页面的textveiw显示扫描后的结果

}
else if (resultCode == RESULT_CANCELED)
{

// Handle cancel
tv.setText(" 扫描失败!");
}
}
}
}
编译没问题,程序可以再手机上运行,但是无法扫描条码,调出barcodescanner后,无法扫描数据。点击返回键,显示扫描失败,说明程序正常。
第三步、单独打开barcodescanner程序,可以扫描并得到数据。
哪位大神帮小弟看看,哪里的问题???
...全文
290 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhzhq800204 2014-05-14
  • 打赏
  • 举报
回复
引用 6 楼 asdfyf 的回复:
Intent intent = new Intent(mUrl); intent.setPackage(mPac); intent.putExtra("SCAN_MODE", "QR_CODE_MODE"); startActivityForResult(intent, 0); } 这段代码只能扫描QR二维码,不能扫描条形码,应该用下面的 Intent intent = new Intent( “com.google.zxing.client.android.SCAN”); intent.putExtra(“SCAN_MODE”, “EAN_13″); startActivityForResult(intent, 0); 或者直接不写这一句 intent.putExtra(“SCAN_MODE”, “EAN_13″);或者 intent.putExtra("SCAN_MODE", "QR_CODE_MODE"); 就可以扫描所以得
感谢,去除了更好。结贴。
zhzhq800204 2014-05-14
  • 打赏
  • 举报
回复
引用 6 楼 asdfyf 的回复:
Intent intent = new Intent(mUrl); intent.setPackage(mPac); intent.putExtra("SCAN_MODE", "QR_CODE_MODE"); startActivityForResult(intent, 0); } 这段代码只能扫描QR二维码,不能扫描条形码,应该用下面的 Intent intent = new Intent( “com.google.zxing.client.android.SCAN”); intent.putExtra(“SCAN_MODE”, “EAN_13″); startActivityForResult(intent, 0); 或者直接不写这一句 intent.putExtra(“SCAN_MODE”, “EAN_13″);或者 intent.putExtra("SCAN_MODE", "QR_CODE_MODE"); 就可以扫描所以得
非常感谢,改为intent.putExtra(“SCAN_MODE”, “EAN_13″)就可以了。
懵懂一片云 2014-05-13
  • 打赏
  • 举报
回复
Intent intent = new Intent(mUrl); intent.setPackage(mPac); intent.putExtra("SCAN_MODE", "QR_CODE_MODE"); startActivityForResult(intent, 0); } 这段代码只能扫描QR二维码,不能扫描条形码,应该用下面的 Intent intent = new Intent( “com.google.zxing.client.android.SCAN”); intent.putExtra(“SCAN_MODE”, “EAN_13″); startActivityForResult(intent, 0); 或者直接不写这一句 intent.putExtra(“SCAN_MODE”, “EAN_13″);或者 intent.putExtra("SCAN_MODE", "QR_CODE_MODE"); 就可以扫描所以得
zhzhq800204 2014-05-13
  • 打赏
  • 举报
回复
为什么我的方法不行呢??哪里出了问题???
bjbjbh 2014-05-09
  • 打赏
  • 举报
回复
用zxing的可以,用别人精简的代码,代码量不大,csdn就有下载
zhzhq800204 2014-05-08
  • 打赏
  • 举报
回复
用zxing的可以,但是代码量有点大,不如这种方式直接。
映映 2014-05-04
  • 打赏
  • 举报
回复
用zxing试试
zhzhq800204 2014-05-04
  • 打赏
  • 举报
回复
自己顶起来,没人帮看看吗???

80,351

社区成员

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

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