由二维码生成的 link 应通过浏览器定向

Generated link from QR code should be directed through browser

我已经创建了一个 QR 扫描仪 android 应用程序。我需要的是,如果我扫描一个 QR 码并且它生成一个 link,那么应用程序应该通过浏览器自动打开那个 link。 任何帮助将不胜感激。谢谢!!

收到二维码生成回调时

Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com"));
startActivity(browserIntent);

在浏览器中打开link

至于丢失的 "http://" 我会这样做:

if (!url.startsWith("http://") && !url.startsWith("https://"))
url = "http://" + url;

验证URL

URLUtil.isValidUrl(url) 

如果您已经实现了“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);

希望对您有所帮助。

下面是我的二维码:

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);
}
}