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

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程序,可以扫描并得到数据。
哪位大神帮小弟看看,哪里的问题???
...全文
254 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
自己顶起来,没人帮看看吗???
回复
相关推荐
发帖
Android
创建于2009-10-09

7.8w+

社区成员

移动平台 Android
申请成为版主
帖子事件
创建了帖子
2014-04-30 05:38
社区公告
暂无公告