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。)
在我的 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。)