Zxing 扫描各种条形码/QR 码,因此您需要做的第一件事就是弄清楚它是产品 UPC 还是 QR 码:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (data != null) {
String response = data.getAction();
if(Pattern.matches("[0-9]{1,13}", response)) {
// response is a UPC code, fetch product meta data
// using Google Products API, Best Buy Remix, etc.
} else {
// QR code - phone #, url, location, email, etc.
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(response));
startActivity(intent);
}
}
}
有许多可用的 Web 服务将返回给定 UPC 代码的产品元数据。谷歌的一个相当全面的购物搜索 API。例如,您可以获得 UPC = 037988482481 的产品的 json 表示形式,其 URL 如下所示:
您需要将“your_key_here”替换为您的 Google API 密钥。
百思买还提供 RESTful产品API他们携带的所有产品均可通过 UPC 代码进行搜索。
获得 UPC 后,您将需要使用 AsyncTask 来获取产品元数据。