Android 按钮作为 WebView 单击 link 用于注销(或删除 sessionId)

Android button as WebView click link for Logout (or delete sessionId)

在我的 WebView android 中,我希望用户在单击按钮或任何其他方式时注销。 单击该按钮后,我不想显示任何网页。之后应用应该自动退出(System.exit(0) 会自动退出)

点击我要发送的是:

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

这样做的最佳方法是什么?

使用 Rest 对此 URL 进行 get 调用。

让它使用异步任务:

查看示例 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;
}

这个问题背后的主要原因是这个注销 link 没有任何显示。所以我想要类似点击注销的东西。 Main Activity 中的简单 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);

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