如何在webview活动中打开URL

时间:2018-03-19 08:53:53

标签: android webview android-webview

如何在Webview活动中打开网址

您好,

我想在WebView活动中打开链接,现在我的代码是扫描条形码&直接打开浏览器链接但是 我想更改它并在Webview中打开 我该怎么做才能帮我解决这个问题

感谢

这是BarcodeScannerActivity的代码

   public class BarcodeScannerActivity extends AppCompatActivity {

    String scanContent;
    String scanFormat;
    TextView textView;
    Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_barcode_scanner);
        textView = (TextView) findViewById(R.id.textView);
        button = (Button) findViewById(R.id.button);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                IntentIntegrator scanIntegrator = new IntentIntegrator(BarcodeScannerActivity.this);
                scanIntegrator.setPrompt("Scan");
                scanIntegrator.setBeepEnabled(true);

                //enable the following line if you want QR code
                //scanIntegrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE_TYPES);

                scanIntegrator.setCaptureActivity(CaptureActivityAnyOrientation.class);
                scanIntegrator.setOrientationLocked(true);
                scanIntegrator.setBarcodeImageEnabled(true);
                scanIntegrator.initiateScan();
            }
        });


    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        IntentResult scanningResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
        if (scanningResult != null) {
            if (scanningResult.getContents() != null) {
                scanContent = scanningResult.getContents().toString();
                scanFormat = scanningResult.getFormatName().toString();
            }

            Toast.makeText(this, scanContent + "   type:" + scanFormat, Toast.LENGTH_SHORT).show();

            textView.setText(scanContent + "    type:" + scanFormat);



            Intent browseintent=new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.example.com/index.php?iduser="+ scanContent));
            startActivity(browseintent);

        } else {
            Toast.makeText(this, "Nothing scanned", Toast.LENGTH_SHORT).show();
        }
    }
}

Webview活动代码

        public class SecondActivity extends AppCompatActivity {
            Button b1;
            EditText ed1;

            private WebView wv1;
            @Override
            protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_second);

                b1=(Button)findViewById(R.id.button);
                ed1=(EditText)findViewById(R.id.editText);

                wv1=(WebView)findViewById(R.id.webView);
                wv1.setWebViewClient(new MyBrowser());

                b1.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        String url = ed1.getText().toString();

                        wv1.getSettings().setLoadsImagesAutomatically(true);
                        wv1.getSettings().setJavaScriptEnabled(true);
                        wv1.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
                        wv1.loadUrl(url);
                    }
                });
            }

            private class MyBrowser extends WebViewClient {
                @Override
                public boolean shouldOverrideUrlLoading(WebView view, String url) {
                    view.loadUrl(url);
                    return true;
                }
            }
        }

2 个答案:

答案 0 :(得分:2)

替换以下代码

Intent browseintent=new Intent(Intent.ACTION_VIEW, 
  Uri.parse("http://www.example.com/index.php?iduser="+ scanContent));
  startActivity(browseintent);

以下代码

Intent browseintent=new Intent(this, SecondActivity.class);
browseintent.putExtra("url","http://www.example.com/index.php?iduser="+ scanContent);
startActivity(browseintent);

这将在意图附加中使用url打开第二个活动。您可以将其设置为edittext,也可以直接将其用于webview。 您可以使用以下代码

在第二个活动中接收网址
String url = getIntent().getExtras().getString("url");

您可以在按钮点击中使用它,如下所示

b1.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    String url = getIntent().getExtras().getString("url");

                    wv1.getSettings().setLoadsImagesAutomatically(true);
                    wv1.getSettings().setJavaScriptEnabled(true);
                    wv1.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
                    wv1.loadUrl(url);
                }
            });

答案 1 :(得分:0)

你试试这个,它应该打开webview的链接:

WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setAllowContentAccess(true);
settings.setDomStorageEnabled(true);
webView.setWebViewClient(new WebViewClient());
webView.loadUrl("https://vk.com/zabroshkiborika");