[英]Android Studio Zxing Scanner, how to redirect to web page after qr code scan automatically (Webview)
I would like redirect to web page after QR code scan (Android Studio Zxing Scanner), after scan code when I press buttontoast, it is redirect to an URL, but I want to redirect without button press automatically alter scan.我想在二维码扫描后重定向到 web 页面(Android Studio Zxing 扫描仪),当我按下 buttontoast 扫描代码后,它被重定向到 URL,但我想重定向而不按下按钮自动改变扫描。
No idea where to place the URL for redirect:不知道在哪里放置 URL 以进行重定向:
mWebView.loadUrl("https://example.com/d2.aspx?name=" + MainActivity.resulttextview.getText());
Using (Webview)使用(网络视图)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
resulttextview = findViewById(R.id.barcodetextview);
scanbutton = findViewById(R.id.buttonscan);
buttontoast = findViewById(R.id.buttontoast);
mWebView = (WebView) findViewById(R.id.activity_main_webview);
scanbutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(getApplicationContext(), ScanCodeActivity.class));
}
});
buttontoast.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this, resulttextview.getText(), Toast.LENGTH_SHORT).show();
mWebView.loadUrl("https://example.com/d2.aspx?name=" + MainActivity.resulttextview.getText());
}
});
public class ScanCodeActivity extends Activity implements ZXingScannerView.ResultHandler {
int MY_PERMISSIONS_REQUEST_CAMERA=0;
ZXingScannerView scannerView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
scannerView = new ZXingScannerView(this);
setContentView(scannerView);
}
@Override
public void handleResult(Result result) {
MainActivity.resulttextview.setText(result.getText());
onBackPressed();
}
@Override
protected void onPause() {
super.onPause();
scannerView.stopCamera();
}
@Override
protected void onPostResume() {
super.onPostResume();
if (ContextCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.CAMERA)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA},
MY_PERMISSIONS_REQUEST_CAMERA);
}
scannerView.setResultHandler(this);
scannerView.startCamera();
}
}
enter code here
If you want to open the url directly when you scan a Qr code, add your logic in the handle result method like this:如果您想在扫描二维码时直接打开 url,请在处理结果方法中添加您的逻辑,如下所示:
@Override
public void handleResult(Result result) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("https://google.com"));
startActivity(intent)
}
This will open link in any browser installed on phone.这将在手机上安装的任何浏览器中打开链接。 If you want to specifically open a link in webview inside your application, call startActivityForResult in MainActivity, set result in ScanCodeActivity after you detect the URL and handle the sent result in OnActivityResult in MainActivity.
如果你想在你的应用程序中专门打开webview中的链接,在MainActivity中调用startActivityForResult,在检测到URL后在ScanCodeActivity中设置结果,并在MainActivity中的OnActivityResult中处理发送的结果。 I hope this might help you.
我希望这可以帮助你。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.