我正在开发一个应用程序,其中我正在使用zxing库读取二维码。我调用用于读取二维码的zxing库如下:
public class QRScanner extends CaptureActivity {
TextView tv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.qrscanner_layout);
}
@Override
public void handleDecode(Result rawResult, Bitmap barcode) {
tv =(TextView) findViewById(R.id.textview_output);
tv.setText(rawResult.getText());
}现在,我想从调用新活动
public void handleDecode(Result rawResult, Bitmap barcode) {
//Want to call new activity using intent and pass result in new activity.
}我尝试了一个代码,如下:
public void handleDecode(Result rawResult, Bitmap barcode) {
String result = rawResult.getText();
Intent intent = new Intent(QRScanner.this,Activity2.class);
intent.putExtra("Result", result);
startActivity(intent);
}但它不起作用。至于如何在模拟器上测试这段代码,我不知道。
当我试图在设备上运行这个应用程序时,它终止了。我该怎么做呢?我的应用程序需要在下一个活动中需要二维码扫描的结果。
请告诉我我该怎么做。
谢谢。
发布于 2013-02-09 21:09:59
你在清单中声明Activity2了吗?将该getText()包装在一个try-catch中...
String result = "";
try {
result = rawResult.getText();
catch (NullPointerException npe) {
Log.e("handleDecode()", "Result was null.", npe);
}如果结果为空,那么至少你传递的是"“。
发布于 2013-02-11 16:53:25
我得到了应用程序终止的原因。当我读到一个链接,然后明白我没有在menifest中声明这个库文件。因为我不知道它应该声明。
谢谢。
https://stackoverflow.com/questions/14788443
复制相似问题