2017-06-06 109 views
0

我创建了一个android应用程序,在SurfaceView中显示前置摄像头。Android:扫描QR码每XX秒屏幕

我希望员工走到设备上,显示QR码并进入大楼。

到目前为止,我已经尝试将SurfaceView内容转换为位图并使用Google Barcode Codelabs读取内容无济于事。

有没有人有这样做的建议?

我需要应用程序不断等待QR码。

非常感谢

回答

0

这可能最容易,可与startActivityForResult启动库来做到这一点。然后,当回调触发(onActivityResult)时,您可以检查其是否有效的QR码,然后重新启动QR码扫描活动。

我会注意到的一件事是,这是一个非常不安全的安全系统,所以不要将它用于安全性很重要的建筑物。

您将需要zxing条码扫描器应用程序才能使此代码正常工作。

package com.example.userme.qr; 

import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 

public class MainActivity extends AppCompatActivity { 

    private static final int REQUEST = 0; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     Intent intent = new Intent("com.google.zxing.client.android.SCAN"); 
     intent.putExtra("SCAN_MODE", "QR_CODE_MODE"); 
     startActivityForResult(intent, REQUEST); 
    } 


    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     Intent intent = new Intent("com.google.zxing.client.android.SCAN"); 
     intent.putExtra("SCAN_MODE", "QR_CODE_MODE"); 
     startActivityForResult(intent, REQUEST); 
    } 
}