我已经创建了一个QR扫描器android应用程序。我需要的是,如果我扫描QR码并且它是否生成链接,那么应用程序应该通过浏览器自动打开该链接。 任何帮助将不胜感激。谢谢!!
答案 0 :(得分:0)
当您收到生成QR码的回调时
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com"));
startActivity(browserIntent);
在浏览器中打开该链接
至于缺少的“http://”我会做这样的事情:
if (!url.startsWith("http://") && !url.startsWith("https://"))
url = "http://" + url;
验证网址
URLUtil.isValidUrl(url)
答案 1 :(得分:0)
如果您已经实施了“ QR扫描程序”然后检查,则必须有一个回调方法,您可以从“扫描程序”接收返回的文本。
在该回调方法中,触发打开浏览器的意图,使用如下所示的特定URL:
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url)); // here ulr is the one that you get from scanner
startActivity(i);
我希望它有所帮助。
答案 2 :(得分:0)
下面是我的QR扫描器代码:
public class VehicleReaderActivity extends AppCompatActivity implements ZXingScannerView.ResultHandler {
private ZXingScannerView mScannerView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle("SCAN QR CODE");
mScannerView = new ZXingScannerView(this);
setContentView(mScannerView);
mScannerView.setResultHandler(this);
mScannerView.startCamera();
}
@Override
protected void onPause() {
super.onPause();
mScannerView.stopCamera();
}
@Override
public void handleResult(Result result) {
// Do anything with result here
Log.w("handleResult", result.getText());
// Now direct the generated link to the browser //
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://" + result.getText()));
startActivity(browserIntent);
//Resume scanning
//mScannerView.resumeCameraPreview(this);
}
}