Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 当webview拥有webviewclient时,活动将被销毁_Android_Android Activity_Webview_Webviewclient - Fatal编程技术网

Android 当webview拥有webviewclient时,活动将被销毁

Android 当webview拥有webviewclient时,活动将被销毁,android,android-activity,webview,webviewclient,Android,Android Activity,Webview,Webviewclient,这是我的密码: public class AuthActivity extends Activity { public static final String REDIRECT_URL = "redirectUrl"; WebView webview; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); webview = new WebView(this)

这是我的密码:

public class AuthActivity extends Activity {
public static final String REDIRECT_URL = "redirectUrl";
WebView webview;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    webview = new WebView(this);
    setContentView(webview);

    webview.setWebViewClient(new WebViewClient() {

        @Override
        public void onPageFinished(WebView view, String url) {
            parseUrl(url);
            super.onPageFinished(view, url);
        }
        @Override
        public void onReceivedError(WebView view, int errorCode,
                String description, String failingUrl) {
            Toast.makeText(getApplicationContext(), description, Toast.LENGTH_LONG).show();
            super.onReceivedError(view, errorCode, description, failingUrl);
        }
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            return true;
        }
    });
    webview.clearCache(true);
    webview.clearHistory();
    webview.getSettings().setJavaScriptEnabled(true);
    webview.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
    CookieSyncManager.createInstance(this);
    CookieManager cookieManager = CookieManager.getInstance();
    cookieManager.removeAllCookie();

    String url = VKPoster.getAuthUrl( );
    webview.loadUrl(url);
}

private void parseUrl(String url) {
    try {
        if(url==null)
            return;
        if(!url.contains("error=")){
            Intent intent=new Intent();
            intent.putExtra(REDIRECT_URL, url);
            setResult(Activity.RESULT_OK, intent);
        }
        finish();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
}
当活动在没有webviewclient的情况下开始加载页面时,它将停止运行,但当设置webviewclient时,它工作正常


有人能给我解释一下这种行为吗?

问题就出在这段代码中(当我发布问题时,我已经看到了。这简直是吹牛)

}

恰好是我们中最好的:)您应该选择您的答案作为接受的答案。
private void parseUrl(String url) {
try {
    if(url==null)
        return;
    if(!url.contains("error=")){
        Intent intent=new Intent();
        intent.putExtra(REDIRECT_URL, url);
        setResult(Activity.RESULT_OK, intent);
    }
    /* I finished app every time page loaded! What a shame */
    finish();
} catch (Exception e) {
    e.printStackTrace();
}