特定网址加载时关闭android webview?

问题描述 投票:0回答:1

我有基本的android webview.it是一个注册页面。我希望在注册后关闭这个webview并开始新的intent.im新的这个请求help.this是我的代码。

public class signupweb extends AppCompatActivity {
    private WebView webView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_signupweb);
        webView = (WebView) findViewById(R.id.webview);
        webView.setWebViewClient(new WebViewClient());
        webView.setWebViewClient(new MyWebViewClient());
        webView.loadUrl("http://aaa.freeasphost.net/signup.aspx");

        WebSettings webSettings = webView.getSettings();
        webSettings.setJavaScriptEnabled(true);
    }

    private class MyWebViewClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView webView, String url) {
            if (url.equals("http://aaa.freeasphost.net/MainPanel.aspx")) {
                Intent intent = new Intent(getApplicationContext(), LoginActivity.class);
                startActivity(intent);
                return false;
            } else {

                return true;
            }
        }
//    }

我尝试了这个,但没有工作。它卡在注册页面

javascript java android
1个回答
2
投票

你需要通过context开始新的活动。试试这个:

private class MyWebViewClient extends WebViewClient {

    private Context context;

    public MyWebViewClient(Context context) {
        this.context = context;

    }

    @Override
    public boolean shouldOverrideUrlLoading(WebView webView, String url) {
        if (url.equals("http://aaa.freeasphost.net/MainPanel.aspx")) {
            Intent intent = new Intent(getApplicationContext(), LoginActivity.class);
            context.startActivity(intent);
            return false;
        } else {

            return true;
        }
}
© www.soinside.com 2019 - 2024. All rights reserved.