用于Logout的WebView点击链接的Android按钮(或删除sessionId)

时间:2015-03-24 18:26:54

标签: javascript android android-webview

在我的WebView android中,我希望用户以按钮点击或任何其他方式注销。 点击该按钮后,我不想显示任何网页。该应用程序应该自动退出(System.exit(0)将执行此操作)

点击我要发送的是:

http://192.100.1.1:10000/app?service=direct/1/UserSummary/$UserBorder.logoutLink

最好的方法是什么?

2 个答案:

答案 0 :(得分:0)

使用Rest来调用此URL。

使其使用异步任务:

查看示例here

在你的背景中做:

protected String doInBackground(String... urls) {
    String url = urls[0];
    HttpClient httpclient = new DefaultHttpClient(getHttpParams());
    HttpResponse response = null;
    try {
        switch (taskType) {
        HttpGet httpget = new HttpGet(url);
        response = httpclient.execute(httpget);  
    } catch (Exception e) {
        Log.e(TAG, e.getLocalizedMessage(), e);
    }
    return response;
}

private HttpParams getHttpParams() {

    HttpParams htpp = new BasicHttpParams();

    HttpConnectionParams.setConnectionTimeout(htpp, CONN_TIMEOUT);
    HttpConnectionParams.setSoTimeout(htpp, SOCKET_TIMEOUT);

    return htpp;
}

答案 1 :(得分:0)

这个问题背后的主要原因是这个注销链接无法显示。所以我想要点击退出。主要活动中的简单Android按钮对此没有帮助。

所以,我创建了新的blank activity,使用了我正在使用的相同布局,但是我没有显示空白布局,而是添加了ProcessDialog并使其不可取消,如下所示:

    final ProgressDialog pd = new ProgressDialog(Logout.this);
    pd.setCancelable(false);
    pd.setCanceledOnTouchOutside(false);
    pd.setMessage("Please wait...");
    pd.show();

public void onPageFinished(WebView view, String url)方法中,我解雇了这个ProcessDialog,并为我的应用程序的登录页面启动了一个意图。同时覆盖public boolean shouldOverrideUrlLoading(WebView view, String url)以防止其退出应用。

之后,只需webView.loadUrl(url);

这样我解决了我的问题。 (如果你知道更好更简单的方法,请发帖。)