C#用户扫描QR码时重定向到新的URL

时间:2017-10-01 02:20:44

标签: c# redirect xamarin xamarin.forms qr-code

我使用QRCODE.net库生成QR条码并且工作正常。我想要的是,当用户使用 Xamarin应用扫描代码时,网页将qr-code 重定向到另一个网址(如WhatsApp网站一样) )。你有任何想法吗?

我已经关注了这个例子:http://tech.trailmax.info/2012/09/generate-qr-barcode-in-asp-net-mvc/

我已经在Google搜索了很多内容,但仍未找到相关信息。

3 个答案:

答案 0 :(得分:3)

您需要几个预先要求

  1. 您的应用必须能够在扫描后访问您的QR码中嵌入的某个网址。
  2. 您需要在用户的浏览器和显示QR码的页面之间建立websocket连接,或者您可以在该页面上保留一些新内容,例如自动刷新的iframe或间隔js脚本
  3. 然后解决方案流程

    1. 页面显示带有嵌入式URL的QR码包含唯一密钥,同时将唯一密钥存储在服务器上,将密钥标记为“未扫描”,建立websocket或启动间隔刷新
    2. app扫描QR,并向嵌入式URL发送请求
    3. 嵌入式网址使用唯一密钥接收请求,然后找到存储在服务器上的密钥并将其标记为“已扫描”
    4. 如果您使用websocket,则检测密钥状态的更改,将消息推送到客户端浏览器以重定向到您想要的任何位置。如果您使用间隔刷新,那么当重新加载时,只需拉出当前密钥的状态,如果状态为“已扫描”,则重定向

答案 1 :(得分:0)

如果它是一个网络应用程序,如果QR码返回你可以做的网址

Response.Redirect(<barcode text>);

HttpResponse.Redirect Documentation

答案 2 :(得分:-1)

我习惯使用qrcodenet

static string url =“http://www.google.com”;

static void GenerateQR() {

QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.M);
QrCode qrCode = qrEncoder.Encode(url);
for (int j = 0; j < qrCode.Matrix.Height; j++)
{
    for (int i = 0; i < qrCode.Matrix.Width; i++)
    {
        char charToPoint = qrCode.Matrix[i, j] ? '█' : ' ';
        Console.Write(charToPoint);
    }
    Console.WriteLine();
}

}